1.理解分支
为了便于理解,大家可以粗略的将分支认为就是一个代码的副本。
如果我们同时在一个代码上开发多个功能。还要修改一些bug,团队成员协作过程中,必然会出现相互影响。
假如某个同事提交了一个错误的代码,可能会导致其他更新了代码的同事都无法正常编译。互相影响。
一个比较好的做法是,我们开发一个新的功能,或者修改一个bug时,我们可以拉出一个分支。在这个分支上的操作不会影响其他同事的工作,待你的工作完成后,你可以将代码再合并回最新代码中。
2. 常见分支master 、develop、release、hotfix、feature的用处
1)主分支master 对外发布版本的分支
当我们最初向git提交时,会自动产生一个master分支
主分支一般保存对外发布的版本。
2)develop分支 开发分支
为了保持主分支上代码的稳定(主分支通常保存向用户发布的版本),开发工作不在主分支上进行,而是在develop分支上进行。
当develop完成开发任务后,黑冰到master分支
3)feature分支
所有的团队成员在develop上工作,为了保持开发分支的稳定性,每个功能开发时都应拉出一个分支,是基于develop分支,当开发到完成后合并到develop
在开发过程中,当要开发某个功能时,会拉出一个功能分支
4)hotfix分支
当修改bug时,也可以从开发分支(develop)上拉出分支,在分支上修改,完成后,再讲代码合并到开发分支(develop)
3.git分支命令
git branch -v 查看分支
git branch 分支名 创建分支
git checkout 分支名 切换分支
git checkout -b 分支名 创建并切换到分支(等价于 git branch 分支名+git checkout 分支名)
git merge 分支名 将指定的分支合并到当前分支
git branch -d 分支名 删除指定名称的分支(分支被合并后才允许删除,如果要删除,需要使用-D 强制删除)
4. git分支实操
1) 准备工作
为了方便进行后续的代码合并以及冲突的测试,请大家克隆你的码云上的最新的cmo_week04 到本地文件夹“week502”。
-
请大家使用自己的gitee账号登录gitee.com
-
fork 仓库cmo_week04: 软件配置管理 第四周课程练习仓库 到你的gitee上
-
本地计算机上创建一个文件夹week502
-
在week502de父目录中打开git命令窗口
-
执行 git clone ,记得把中间的地址改为你的仓库地址奥
git clone cmo_week04: 软件配置管理 第四周课程练习仓库 week502/
2) git branch 查看分支
进入到刚才创建的week502目录,右键点击 git Bash here.. 打开git命令窗口,
输入:git branch -v
这个命令练习起来,后面我们要反复使用该命令奥!
3)git branch 分支名 创建分支
下面我们的实验先创建develop分支,然后再develop上再依次创建2个分支:feature_add分支 和feature_ sub 分支,分别用来开发add功能和sub功能。
git branch develop 创建develop分支
git checkout develop 切换到develop分支
git branch feature_add 创建一个名为add的分支,注意,此时仍在原来的分支上
git branch feature_sub 创建另一个名为sub的分支,用来开发 sub 功能
git branch 查看分支情况
4)git checkout 分支名 切换分支
上一步我们已经创建了分支。
在这一步,我们要模拟两位开发切换到他们的分支,提交代码到各自的分支上。
首先模拟开发1切换到分支feature_add上提交代码,并提交到本地仓库
-
下面我们切换到feature_add分支上,并添加一个 add.txt 的文件,
-
feature_add分支上,并在001.txt的文件的第六行之后删除掉,末尾添加add函数
int add(int x , int y)
{
return x+y;
}
-
提交到本地版本库,日志为:xxx :分支 feature_add 上 001.txt新增了add函数 xxx为你的姓名
然后模拟开发2切换到分支feature_sub上提交代码,并提交到本地仓库
-
下面我们切换到feature_sub分支上,修改001.txt,将5行之后的内容删除,加上sub函数
int sub(int x , int y)
{
return x-y;
}
-
.提交分支 feature_sub 上修改,日志为:xxx 分支git branch feature_sub 上修改 新增了sub函数 xxx为学生姓名
需要注意的是,当前分支如果有未提交到暂存区的修改,切换分支会有错误提醒,提示你提交修改或者保存文件
我们此时,你可以将修改commit到本地仓库,
如果你觉得还没有修改好,那你也可以使用git stash 将其隐藏,以后再切换回分支时,再将其恢复
5)git merge 分支名 合并分支
合并分支时,需要先切换到目标分支,然后再合并。
为了减少后期冲突,合并前,建议git pull 从服务器上拉取最新代码。
(1) 将分支 git branch feature_add 合并到主干
我们切换到develop分支上,将feature_add 分支合并到develop
(2)将分支git branch feature_sub 也合并到主干
我们切换到develop分支上,将feature_add 分支合并到develop
合并过程中,由于feature_add 和feature_sub分支修改了相同行,提交时会提示冲突,需要手动解决冲突。
如果你安装了 TortoiseGit。则可以通过图形化工具来解决冲突,如果没有,直接查看001.txt也可以
手动解决冲突后,再次 添加到暂存区后,提交到本地库
6)将develop、feature_add feature_sub分支提交到远程仓库
如果愿意,大家也可以将分支推送到远程分支
git push <远程主机名> <本地分支名>
git push <远程主机名> <本地分支名>:<远程分支名>
如果不指定远程分支名,默认同本地分支名
6)git branch -d 分支名 删除分支
删除分支前,需要切换到其他分支
7)查看日志,截屏
git log –oneline –graph –decorate –all 是常用的日志查看命令
git log 命令用于显示仓库的历史记录,
–oneline 参数会让每一个提交显示在一行上,
–graph 参数会显示提交的分支和合并信息,
–decorate 参数会显示分支,tags信息,
–all 参数会显示所有的commit记录
截屏日志结果
5.gitee仓库的删除
在确认窗口中,输入确认信息后,点击【确认删除】,则可以成功删除仓库
在验证码确认窗口上输入账户密码后,点击【验证】
6.git 冲突解决
git pull –allow-unrelated-histories
今天的文章git快速入门_git快速入门「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/79802.html