持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第27天,点击查看活动详情
背景
- 在实践过程中,发现git常被用于如下三个场景中,总结并记录下来。
过程
- 远程已经有某个分支了,本地也需要一个分支与之对应上
-
假如远程已经有了一个dev分支,如何在本地得到一个名称是dev的分支?
git checkout –b dev origin/dev
-
如何让本地的dev分支和远程的origin/dev分支关联上来?
git branch --set-upstream-to=origin/dev
- 远程没有某个分支,需要重新创建一个分支
-
本地创建一个分支,并切换到新创建的分支上
git checkout –b feat-addUser
-
push到远程厂库中去
git push origin feat-addUser
-
本地分支与远程分支关联上关系
可以先执行:git pull, 看它给出的提示信息。
git branch --set-upstream-to=origin/feat-addUser
-
合并分支过程中发现冲突处理失败,怎么应对?
放弃合并的内容,回退到合并以前的内容
-
切换到需要回退的分支上。git checkout dev
-
查询需要回退的版本号。git reflog
-
执行回退操作。git reset –hard f82cfd2 ,其中这个f82cfd2是commit id
-
至于怎么知道某个版本号是合并之前的,可以看上次部署的commit id是什么,一般在gitlab或者其他代码托管平台中的pipeline中的ci/cd就可以看见。
放弃合并的内容,重新clone项目
还有一种解决办法:就是不要原来的项目了,重新clone下来,然后切换到需要发起合并操作的分支,然后再一次合并。细节:有冲突的时候,是不能push到远程的。
-
-
回退到上一个提交的版本
git reset --hard HEAD~1
小结
- 记录git常使用的一些场景和解决办法。