当前位置:   article > 正文

GIT的分支及操作_git分支起点

git分支起点

        GIT 会默认创建一个 master 主分支,在创建多个分支后,每个分支管理有各自最新的代码,可以在各自完成作业后合并

一、特性分支

        特性分支即只为实现某单一目标或属性的分支,日常开发会有数个特性分支,此外还需要保留一个随时可以发布软件的稳定分支。通常由 master 分支担当

        如上述的 featur-A 分支除了实现 A 不再进行任何作业,开发中的 Bug 也是在新的分支里修正的。

        基于特定主题的作业在特性分支中进行,各主题完成后再与 master 分支进行 merge 合并。大概就是这样一个开发流程,需要保证 master 分支可以随时供人查看。这样一来,其他开发者也能随时从 master 分支创建新的特性分支。

二、主干分支

        主干分支是各主题特性分支的起点,也是特性分支的汇合点,通常以 master 作为主干分支,在管理多个版本发布时会拥有多个主干分支

三、分支操作

(一)创建与访问

1.git branch:

        可以将分支名列表显示,同时可以确认当前所在分支
  1. $ git branch
  2. * master

        *号代表的就是我们目前所处的分支,目前只有一个master分支

2.git checkout -b:

        可以以当前的 master 分支为基础创建新的分支,用 git checkout -b 分支名
  1. $ git checkout -b feature-A
  2. Switched to a new branch 'feature-A'
  3. $ git branch
  4. * feature-A
  5. master

        此时有分支了,并且处于A分支上:

  1. vi README.md
  2. # 编辑器内
  3. zxd123
  4. Here is feature-A # 第二行是新加上的

        切换到 master 上查看文件,和原先并无变化,说明A分支的更改没有影响到master分支,创建多个分支就可以在不互相影响的情况下同时进行多个功能的开发,进行分支培育

  1. $ git checkout master
  2. Switched to branch 'master'
  3. $ vi README.md
  4. zxd123

git checkout - :切换到上一个分支

(二)合并

        我们先查看两分支中的 README.md 的内容

  1. xx ~/git-tutorial (master)
  2. $ vi README.md
  3. zxd123
  4. xx ~/git-tutorial (feature-A)
  5. $ vi README.md
  6. # zxd123
  7. # Here is feature-A
  1. 切换到 master 分支
  2. 为在历史记录中明确记录下本次分支合并,创建合并提交。因此,在合并时加上 --no-ff 参数。
  1. $ git merge --no-ff feature-A # 合并的命令
  2. # 编辑器内:
  3. Merge branch 'feature-A'
  4. # Please enter a commit message to explain why this merge is necessary,
  5. # especially if it merges an updated upstream into a topic branch.
  6. #
  7. # Lines starting with '#' will be ignored, and an empty message aborts
  8. # the commit.

         :wq 保存退出

  1. Merge made by the 'ort' strategy.
  2. README.md | 4 +++-
  3. 1 file changed, 3 insertions(+), 1 deletion(-)

         这样一来就将分支A中的内容合并到了master中

  1. $ vi README.md
  2. # zxd123
  3. # Here is feature-A

(三)以图表形式查看分支

  1. $ git log --graph
  2. * commit 1589ce7698321e513f26bf7054672d05ddefd70d (HEAD -> master)
  3. |\ Merge: e7da43f 847f0ad
  4. | | Author: Ray Tsang <zxd850001786@163.com>
  5. | | Date: Fri Jun 9 16:47:59 2023 +0800
  6. | |
  7. | | Merge branch 'feature-A'
  8. | |
  9. | * commit 847f0ada6a54097f9b91b0397bb60248d3a98ec7 (feature-A)
  10. |/ Author: Ray Tsang <zxd850001786@163.com>
  11. | Date: Tue May 16 17:45:32 2023 +0800
  12. |
  13. | Added feature-A
  14. |
  15. * commit e7da43f242231c6b1dfc760170482d2109fd07e0
  16. | Author: Ray Tsang <zxd850001786@163.com>
  17. | Date: Wed Apr 19 17:51:44 2023 +0800
  18. |
  19. | Add Index
  20. |
  21. * commit f751d34f11a9989fcdde08d9b6a5eb35b898ad96
  22. Author: Ray Tsang <zxd850001786@163.com>
  23. Date: Wed Apr 19 15:24:51 2023 +0800
  24. First commit

        这种方法可以直观地展现分支操作历史记录

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/407451
推荐阅读
相关标签
  

闽ICP备14008679号