Git 分支管理
项目开发过程中不同的开发场景需要在不同的分支上实现,比如:
- 不同环境的分支:dev/qa/prod/test 等
- 不同版本的分支
……
下面介绍分支的创建、合并分支、合并某一次提交等命令
一、创建分支
1、示例:创建一个分支,命名为 dev
git branch dev
2、查看分支
git-demo$ git branch
dev
* main
二、切换分支并开发
1、切换到 dev 分支
git checkout dev
2、修改内容
增加一行内容 <h1>这是分支dev的内容</h1>
<div class="w main">
<h1>创建index.html文件</h1>
<h1>这是分支dev的内容</h1>
</div>
3、提交 dev 分支代码
git add .
git commit -m '创建dev分支并添加代码'
git push
git push
的时候会报错:
git-demo$ git push
fatal: The current branch dev has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin dev
因为远程仓库不存在这个分支,按照提示使用命令:
git push --set-upstream origin dev
4、查看GitHub
三、合并分支
1、切换到 main 分支
名称可能有不同
git checkout main
切换分支之后会发现,之前在dev分支添加的代码在main分支上是不存在的
注:切换分支之后,Git 会用该分支的最后提交的快照替换掉你的工作目录, 所以多个分支不会生成多个文件目录。
2、将 dev 分支内容合并到 main
git merge dev
合并之后dev分支的内容就被添加到main分支上了
3、提交代码
直接push就好
git push
四、合并分支上的某一次提交
上面的操作将整个 dev 分支合并到了 main 分支,但是不同的分支又不同的内容管理,有时候我们在一个分支上做了多次提交,但是只需要将某一次提交合并到另一各分支上,这个时候就需要用到命令 git cherry-pick
1、示例:在 dev 分支做多次提交
第1次:
git checkout dev
- 添加代码:
<h1>git cherry-pick测试:这是第1次提交</h1>
- git add .
- git commit -m ‘git cherry-pick测试:这是第1次提交’
- git push
第2次:
- 添加代码:
<h1>git cherry-pick测试:这是第2次提交</h1>
- git add .
- git commit -m ‘git cherry-pick测试:这是第2次提交’
- git push
2、示例:把第一次的提交合并到main分支
首先,使用 git log
命令找到第一次提交的版本号:
然后,切换到 main 分支
git checkout main
再使用命令:
git cherry-pick 83c3554c2451d5c0ce24d63c0152c91bc1986354
检查代码会发现 <h1>git cherry-pick测试:这是第1次提交</h1>
被添加到代码中了,而<h1>git cherry-pick测试:这是第2次提交</h1>
则没有。
3、提交代码
直接push就好
git push
五、删除分支
注:删除分支的操作不能在被删除的分支下进行,必须切换到其他分支再操作
1、删除本地分支
示例:删除 dev 分支
git branch -d dev
2、删除远程分支
示例:删除 dev 分支
git push origin -d dev
六、其他
命令 | 描述 |
---|---|
git status | 查询修改的文件 |
git log --oneline | 查看历史记录的简洁的版本 |
git log --reverse --oneline | 逆向显示所有日志 |
git log --author | 查找指定用户的提交日志 |
git blame filename | 查看指定文件的修改记录 |
git checkout -b branchname | 创建新分支并立即切换到该分支下 |
系列文章
Git专栏
Git使用(一):安装与配置
Git使用(二):创建项目并提交到远程仓库
Git使用(三):分支管理,创建分支、合并分支、合并分支的某一次提交等
Git使用(四):提交管理,修改提交信息、合并多次提交、版本回退、撤销本地文件修改等
Git使用(五):解决冲突以及如何避免冲突
SmartGit 安装及使用(一):安装及配置
SmartGit 安装及使用(二):工作界面介绍、提交代码以及防止代码冲突等操作
SmartGit 安装及使用(三):撤销提交、合并多次提交等操作
SmartGit 安装及使用(四):创建、合并分支以及解决冲突等操作
SmartGit 安装及使用(附录):注册非商业许可证
【Git】如何生成SSH key
【Git】.gitignore文件语法以及修改后无效的解决办法
【Git】Authentication failed for 错误解决
【Git】SSL certificate problem: unable to get local issuer certificate错误的解决办法
【Git】error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR