美文网首页
git(三)分支操作

git(三)分支操作

作者: 踏莎行 | 来源:发表于2021-11-02 22:43 被阅读0次

    分支是 Git 重要的功能特性之一,开发人员可以在主开发线的基础上分离出新的开发线
    使用分支,可以让我们从开发主线上分离出来,以免影响开发主线。

    基本操作

    • 查看分支
      当我们使用git init命令创建本地仓库时,默认就是有一条分支,他叫主分支,即master


      master.png

      我们可以使用git branch 命令查看当前仓库的分支情况(目前还不能查看)

    • 创建分支

    git branch <name>
    

    如果你是新创建的仓库,,是不可以直接创建的,你应该有一次提交才行,不然会报错:fatal: Not a valid object name: 'master'.
    比如你可以创建一个README.md文件

    1.png
    • 切换分支
      如果你想到分支上,你就需要使用切换分支命令
    git checkout <name>
    

    我们将当前分支切换到dev分支上,并在dev分支上,创建一个dev.md文件,然后在README.md文件中随便写点东西,

    Snipaste_2021-10-31_22-36-53.png

    并建立存档(git add .; git commit -m "xxx"操作),然后我们再切换回master,看看是什么结果

    Snipaste_2021-10-31_22-39-25.png

    同时再观察一下README文件,是空的!!!!

    Snipaste_2021-10-31_22-40-19.png

    所以,从这里我们就明白了,分支之间就像是平行空间,每个分支之间的操作互不影响,所以我们在多人开发时,为了不影响主线的开发,我们就可以单独分离出一个分支单独开发

    • 分支合并
      当我们在分支上将一个功能开发完毕,我们还需要将当前分支的操作合并到主分支上,不然在分支上编码意义不大
    git merge <name>
    

    需要注意的是,若要合并分支,是必须要在master分支上才能进行合并的

    Snipaste_2021-10-31_22-59-06.png Snipaste_2021-10-31_23-00-14.png

    (附上我们刚才的流程图)


    wu.png
    • 删除分支
      分支合并之后,原来的分支依然是存在的,如果你不想要原来的分支了获取分支创建错了,我们还可以删除分支,同样要在主分支上操作
    git branch -d <name>
    
    Snipaste_2021-10-31_23-03-59.png

    如果你没有对分支合并就进行删除,git会给你一个提示

    error: The branch '<name>' is not fully merged.
    If you are sure you want to delete it, run 'git branch -D <name>'.
    

    如果你要删除未合并的分支,就用D

    git branch -D <name>
    

    注意:当你在进行分支切换的时候,要对当前分支的操作进行存档,以防出现程序的丢失或污染其他分支,所以你可以先用git status命令查看当前的状态,确保当前分支工作区是干净的

    • 创建并切换分支
    git checkout -b <name>
    
    Snipaste_2021-10-31_23-14-36.png

    冲突

    不论是我们单独开发或者多人协作开发,难免都会出现冲突。当多个分支修改同一个文件时,合并分支的时候就会产生冲突。
    这里就不演示具体例子


    Snipaste_2021-11-02_22-22-46.png

    一般项目比较大,文件繁多,我们可以使用git status命令快速查看哪些文件发生了冲突


    Snipaste_2021-11-02_22-25-08.png 1635863696(1).jpg

    如果是你自己在做这个项目那么保留哪个你就自己清楚了,如果是团队开发的,你就需要和对应冲突模块的开发者交流,再进行冲突修改

    修复成功后需要再进行一次git add . , git commit -m "xxx"进行存档

    相关文章

      网友评论

          本文标题:git(三)分支操作

          本文链接:https://www.haomeiwen.com/subject/krpfzltx.html