GitGit 分支管理 ( 解决分支合并冲突 | 前置环境准备 | 远程仓库发起分支合并 | 在远程仓库解决分支冲突 | 在远程仓库正式合并分支版本 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitGit 分支管理 ( 解决分支合并冲突 | 前置环境准备 | 远程仓库发起分支合并 | 在远程仓库解决分支冲突 | 在远程仓库正式合并分支版本 )相关的知识,希望对你有一定的参考价值。





一、前置环境准备



【Git】Git 分支管理 ( 解决分支合并冲突 | 创建并切换分支 git switch -c feature1 | 修改 feature1 分支并提交 | 修改 master 主版本并提交 ) 博客的基础上 , 在远程仓库发起分支合并操作 ;


1、克隆远程仓库


执行

git clone https://codechina.csdn.net/han12020121/git-learning-course

克隆远程仓库 ;


2、feature1 分支操作



( 1 ) 创建 feature1 分支


执行 git switch -c feature1 命令 , 创建 feature1 分支 ;

D:\\Git\\git-learning-course>git switch -c feature1
Switched to a new branch 'feature1'



( 2 ) 修改 feature1 分支


当前 feature1 分支中的 README.txt 内容为 :



( 3 ) 提交 feature1 分支


执行

git commit -a -m "feature1"

提交 feature1 分支代码 ;

D:\\Git\\git-learning-course>git commit -a -m "feature1"
[feature1 3d9de4a] feature1
 1 file changed, 1 insertion(+), 1 deletion(-)


( 4 ) 推送 feature1 分支


执行

git push origin feature1

命令 , 将 feature1 分支推送到远程仓库 ;

D:\\Git\\git-learning-course>git push origin feature1
warning: redirecting to https://codechina.csdn.net/han12020121/git-learning-course.git/
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 332 bytes | 332.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: GitLab: http post to gitlab api /post_receive endpoint: 500 Internal Server Error
To https://codechina.csdn.net/han12020121/git-learning-course
 * [new branch]      feature1 -> feature1


3、master 分支操作



( 1 ) 切换 master 分支


执行 git switch master 命令 , 切换回 master 分支 ,


( 2 ) 修改 master 分支


修改 master 分支的 README.txt 内容为 :


( 3 ) 提交 master 分支


执行

git commit -a -m "master"

提交 master 分支代码 ;

D:\\Git\\git-learning-course>git commit -a -m "master"
[master faafce2] master
 1 file changed, 1 insertion(+), 1 deletion(-)


( 4 ) 推送 master 分支


执行

git push origin master

命令 , 将 feature1 分支推送到远程仓库 ;

D:\\Git\\git-learning-course>git push origin master
warning: redirecting to https://codechina.csdn.net/han12020121/git-learning-course.git/
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 16 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 329 bytes | 329.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: GitLab: http post to gitlab api /post_receive endpoint: 500 Internal Server Error
To https://codechina.csdn.net/han12020121/git-learning-course
   e9d0ace..faafce2  master -> master





二、远程仓库发起分支合并



在远程仓库中 , 现在有 2 2 2 个分支 ;

在远程仓库页面中 的 " 合并请求 " 页面 , 点击 " 新建合并请求 " 按钮 ,

源分支 选择 要合并的分支 , feature1 分支 , 然后点击 " 比较分支并继续 " 按钮 ;

设置相关信息 , 指派人 , 审核者 , 然后点击 " Submit " 合并请求 ;

在 " 合并请求 " 页面 , 查看已经有了 分支合并 请求 ;





三、在远程仓库解决分支冲突



查看分支合并的详细信息 :

点击 " 本地合并 " , 显示本地合并操作步骤 ;

# 步骤一. 拉取并检查用于合并的分支

git fetch origin
git checkout -b "feature1" "origin/feature1"

# 步骤二. 在本地查看更改

# 步骤三. 合并分支并解决冲突

git fetch origin
git checkout "master"
git merge --no-ff "feature1"

# 步骤四. 推送代码并合并

git push origin "master"

点击 " 解决冲突 " 按钮 ,

修改后 , " 提交到源分支 " ;





四、在远程仓库正式合并分支版本



点击 " 合并 " 按钮 , 勾选 " 删除源分支 " 选项 ;

合并完成 , 点击 " 标记为完成 " 按钮 ;

分支合并完成 , 只剩下 master 分支 , feature1 分支已经删除成功 ;

以上是关于GitGit 分支管理 ( 解决分支合并冲突 | 前置环境准备 | 远程仓库发起分支合并 | 在远程仓库解决分支冲突 | 在远程仓库正式合并分支版本 )的主要内容,如果未能解决你的问题,请参考以下文章

GitGit 分支管理 ( 解决分支合并冲突 | 前置环境准备 | 远程仓库发起分支合并 | 在远程仓库解决分支冲突 | 在远程仓库正式合并分支版本 )

GitGit 分支管理 ( 解决分支合并冲突 | 前置环境准备 | 远程仓库发起分支合并 | 在远程仓库解决分支冲突 | 在远程仓库正式合并分支版本 )

GitGit 分支管理 ( 解决分支合并冲突 | 推送主版本和分支版本到远程仓库 | 合并分支出现文件冲突 )

GitGit 分支管理 ( 解决分支合并冲突 | 推送主版本和分支版本到远程仓库 | 合并分支出现文件冲突 )

GitGit 分支管理 ( 解决分支合并冲突 | 创建并切换分支 git switch -c feature1 | 修改 feature1 分支并提交 | 修改 master 主版本并提交 )(代码片

GitGit 分支管理 ( 解决分支合并冲突 | 创建并切换分支 git switch -c feature1 | 修改 feature1 分支并提交 | 修改 master 主版本并提交 )(代码片