git 常用指令 续

发布时间 2023-10-29 13:07:42作者: 万舜

分支管理(branch)

  • main分支是主分支,HEAD指向的就是当前分支,main指向提交。
  • 创建新的分支,Git新建一个指针,指向main相同的提交,再把HEAD指向新分支。

1.创捷并切换新分支

创建分支,然后切换到新分支:

git checkout -b 分支名  //创建+切换分支
git switch -c 分支名    //创建+切换分支

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

git branch 分支名  //创建分支
git checkout  分支名  // 切换分支
git switch 分支名   // 切换分支

2. 查看分支

git branch会列出所有分支,当前分支前面会标一个*号

git branch

3.合并分支

git merge命令用于合并指定分支到当前分支

git merge 分支名

4.删除分支

git branch -d 分支名

注意事项

  • 因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。
  • 切换分支使用git checkout <branch>,
    而撤销修改则是 git checkout -- <file>
  • 最新版本的Git提供了新的git switch命令来切换分支,创建并切换到新的分支,可以使用git switch -c 分支名,然后直接切换分支git switch 指定分支名
  • Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
  • 带参数的git log也可以看到分支的合并情况git log --graph --pretty=oneline --abbrev-commit,git log --graph命令可以看到分支合并图。
  • 合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
    如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
    合并分支,请使用--no-ff参数,表示禁用Fast forward:git merge --no-ff -m "merge with no-ff" 因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去
  • master分支应该是非常稳定的,也就是仅用来发布新版本,工作都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到main上,在main分支发布1.0版本;
    每个人都在dev分支上工作,每个人都有自己的分支,时不时地往dev分支上合并就可以了。