Git分支


新建分支

  • 可以使用branch命令来创建分支:
$ git branch <branchname>
# 例如新建一个issue的分支
$ git branch issue

#如果不指定参数执行branch,可以显示分支列表,带*的就是当前所在的分支
$ git branch
  issue
* master

切换分支

  • 使用checkout命令来切换分支
$ git checkout issue
Switched to branch 'issue1'

$ git branch
* issue
  master

合并分支

可以使用merge命令来合并分支,如果要将issue合并到master分支上,操作如下:

  • 先切换到master分支上:
$ git checkout master
Switched to branch 'master'
  • 合并分支:
$ git merge issue
  • 可以通过使用以下命令在命令外壳中实时可视化你的分支历史记录来本地验证。
$ git fetch
$ git log --all --decorate --oneline --graph

解决冲突

合并两个分支之后,可能会有冲突,我们需要手动来修改这些冲突:

  • 查看带有冲突标记的文件:
$ git diff --check
  • 然后我们找到这些冲突的文件,进行修改
  • 合并冲突表示法:

当git合并产生合并冲突时,该部分会以<<<<<<<, =======>>>>>>>表示。

=======之前的部分是当前分支这边的情况,

=======之后的部分是对方分支的情况。

删除分支

如果当前分支没有用了的话,我们可以删除无用的分支:

  • 使用branch命令指定-d选项,删除分支
$ git branch -d <branchname>

$ git branch -d issue

$ git branch
* master

扩展

  • rebasemerge区别
    • merge:自动创建一个新的commit,如果合并后遇到冲突,仅需要重新commit.
      • 优点:记录了真是的commit情况,包括每个分支的详情
      • 缺点:因为每次merge会自动产生一个merge commit,看到的logs比较混乱.
    • rebase:会合并之前的commit历史.
      • 优点:得到更简洁的项目历史,去掉了merge commit.
      • 缺点:如果合并出现代码问题不容易定位,因为re-writehistory.
posted @ 2022-02-23 17:16  zko  阅读(40)  评论(0编辑  收藏  举报