git分支应用和多人协作
1.知识百科
Git(读音为/g?t/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
git 包含了完善的客户端和服务端,客户端和服务端之间通过某种安全通信 协议(HTTPS 或者 SSH)进行文件的上传和下载。
git工具安装和基本使用参考:https://blog.csdn.net/weixin_44453694/article/details/123999289

2.git分支
分?就是科幻电影??的平?宇宙,当你正在电脑前努?学习Git的时候,另?个你正在另?个平?宇宙?努?学习SVN。两者之间可以同时执行。
分?在实际中有什么?呢?假设你准备开发?个新功能,但是需要两周才能完成,第?周你写了50%的代码,如果?刻提交,由于代码还没写完,若直接提交则会导致代码不完整影响其他人工作。但若等所有代码写完再一次性提交,?存在丢失每天进度的巨??险。而有了分支的产生,就可以创建一个属于自己的分支,只有自己才能看到分支内容,别?看不到,还继续在原来的分?上正常?作,?你在??的分?上干活,想提交就提交,直到开发完毕后,再?次性合并到原来的分?上,这样,既安全,又可以多人协作开发,互不影响。
在没有分支之前,master分?是?条线,Git?master指向最新的提交,再?HEAD指向master,就能确定当前分?,以及当前分?的提交点:

??每次提交,master分?都会向前移动?步,这样,随着你不断提交,master分?的线也越
来越?。
??当我们创建新的分?,例如dev时,git新建了?个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表?当前分?在dev上:

??当有了dev分支,我们就可以通过改变HEAD指向来操作不同分支,当HEAD指向dev分支时则只能操作dev。当我们工作完成后,就可以将master和dev分支合并,即直接让master指向dev提交分支。甚至可以直接删除dev分支。

3.创建分支
$ git branch dev //创建分支
$ git checkout dev //切换分支
$ git branch //查看分支
* dev
master
$ git branch -d dev //删除分支
$ git checkout -b dev //创建一个分支dev,并切换到当前分支下
??*表示当前所处于的分支位置。
3.1 创建分支示例
$ touch 1.txt //创建新文件
$ git checkout -b dev //创建dev分支并切换当当前分支下
$ git add 1.txt //添加1.txt
$ git commit -m "分支应用实例" //编写提交说明
[dev 8873ebd] 分支应用实例
1 file changed, 1 insertion(+)
create mode 100644 1.txt
$ git push origin dev //提交到dev分支


3.2 合并分支并提交
$ git checkout master //切换到主分支
$ git merge dev -m "分支合并" //合并分支,将dev分支合并到主分支
更新 38d25e9..8873ebd
Fast-forward
1.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 1.txt

$ git add -A
$ git push origin master //将合并内容提交到主分支
??合并并且提交到主分支成功后则可删除dev分支
$ git branch -d dev
已删除分支 dev(曾为 8873ebd)。
4.分支冲突问题
4.1 创建dev分支并提交
$ git checkout -b dev //创建分支并切换到dev分支下
$ vim 1.txt //打开1.txt 添加内容
git 分支测试
git 分支冲突测试
$ git add 1.txt //添加1.txt
$ git commit -m "分支冲突测试"
$ git push origin dev //提交到dev分支

4.2 修改主分支并提交
$ git checkout master //切换到主分支
$ vim 1.txt //修改1.txt文件
git 分支测试
主分支测试
$ git add 1.txt
$ git commit -m "主分支提交测试"
$ git push origin master //修改内容提交到主分支

4.3 合并分支
$ git merge dev -m "分支合并" //合并分支
自动合并 1.txt
冲突(内容):合并冲突于 1.txt
自动合并失败,修正冲突然后提交修正的结果。
$ git status //查看状态
位于分支 master
您的分支与上游分支 'origin/master' 一致。
您有尚未合并的路径。
(解决冲突并运行 "git commit")
(使用 "git merge --abort" 终止合并)
未合并的路径:
(使用 "git add <文件>..." 标记解决方案)
双方修改: 1.txt
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
??打开1.txt文件可查看到主分支和dev分支的修改内容。

??由于主分支和dev分支都对1.txt文字做出修改,导致分支自动合并失败,此时就需要手动解决分支冲突问题。我们打开1.txt文件就可以看到主分支和dev分支的修改状况,我们需要手动合并。
?当我们在合并分支时,遇到自动合并失败,则可以通过git status 查看状态信息,查看出现合并失败的问题文件,然后收合并分支,再次添加提交文件,编写提交说明重新提交即可。
在实际开发中,我们应该按照?个基本原则进?分?管理: ?先,master分?应该是?常稳定的,也就是仅?来发布新版本,平时不能在上?干活; 那在哪干活呢?干活都在dev分?上,也就是说,dev分?是不稳定的,到某个时候,?如 1.0版本发布时,再把dev分?合并到master上,在master分?发布1.0版本; 你和你的?伙伴们每个?都在dev分?上干活,每个?都有??的分?,时不时地往dev分 ?上合并就可以了。
所以,团队合作的分?看起来就像这样:

5.多人协作
??Git是一个开源的分布式版本控制系统,可以有效的完成版本管理和多人协作开发。要实现多人协作则需要在服务器端添加协作人员。
??在仓库管理中可以添加开发者人员,设置代码审核人员和分支合并审核。

-
控制系统
+关注
关注
41文章
6797浏览量
112295 -
开源
+关注
关注
3文章
3755浏览量
43984 -
Git
+关注
关注
0文章
205浏览量
16256
发布评论请先 登录
关于git的远程分支的详细介绍

Git命令之本地分支与远程分支关联和解除

【AD系列教程】多人PCB协作设计
Git分支,为何以及如何使用分支
Git最佳实践,什么才是最佳工作流
利用Learn Git Branching轻松学习Git
Git / GitHub 是什么?有什么用?
如何设置Git的SSH秘钥

Git的分支管理

git rebase与相关git merge命令比较

评论