天天看点

git实践过程中的总结记录

背景

  • 在实践过程中,发现git常被用于如下三个场景中,总结并记录下来。

过程

  • 远程已经有某个分支了,本地也需要一个分支与之对应上
  1. 假如远程已经有了一个dev分支,如何在本地得到一个名称是dev的分支?

    git checkout –b dev origin/dev

  2. 如何让本地的dev分支和远程的origin/dev分支关联上来?

    git branch --set-upstream-to=origin/dev

  • 远程没有某个分支,需要重新创建一个分支
  1. 本地创建一个分支,并切换到新创建的分支上

    git checkout –b feat-addUser

  2. push到远程厂库中去

    git push origin feat-addUser

  3. 本地分支与远程分支关联上关系

    可以先执行:git pull, 看它给出的提示信息。

    git branch --set-upstream-to=origin/feat-addUser

  • 合并分支过程中发现冲突处理失败,怎么应对?

    放弃合并的内容,回退到合并以前的内容

    1. 切换到需要回退的分支上。git checkout dev
    2. 查询需要回退的版本号。git reflog
    3. 执行回退操作。git reset –hard f82cfd2 ,其中这个f82cfd2是commit id
    4. 至于怎么知道某个版本号是合并之前的,可以看上次部署的commit id是什么,一般在gitlab或者其他代码托管平台中的pipeline中的ci/cd就可以看见。

    放弃合并的内容,重新clone项目

    还有一种解决办法:就是不要原来的项目了,重新clone下来,然后切换到需要发起合并操作的分支,然后再一次合并。细节:有冲突的时候,是不能push到远程的。

  • 回退到上一个提交的版本

    git reset --hard HEAD~1

小结

  1. 记录git常使用的一些场景和解决办法。