一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master
二、当master代码改动了,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev
git merge master
git push -u origin dev
一、详细说明:开发分支(dev)上的代码达到上线标准后,合并到主分支
-
切换到开发分支并拉取最新代码
git checkout dev git pull
-
切换到主分支
git checkout master
-
合并开发分支到主分支
git merge dev
-
解决冲突(如果有)
- 如果合并过程中出现冲突,Git 会提示哪些文件有冲突。
- 打开这些文件,手动解决冲突。
- 解决冲突后,添加已解决的文件:
git add <conflicted-file>
-
完成合并并推送更改
git commit -m "Merge dev into master" git push -u origin master
二、详细说明:当主分支代码改动后,需要更新开发分支上的代码
-
切换到主分支并拉取最新代码
git checkout master git pull
-
切换到开发分支
git checkout dev
-
合并主分支到开发分支
git merge master
-
解决冲突(如果有)
- 如果合并过程中出现冲突,Git 会提示哪些文件有冲突。
- 打开这些文件,手动解决冲突。
- 解决冲突后,添加已解决的文件:
git add <conflicted-file>
-
完成合并并推送更改
git commit -m "Merge master into dev" git push -u origin dev
补充:遇到冲突后的处理情况
当合并过程中出现冲突时,Git 会在冲突文件中插入冲突标记,帮助你识别和解决冲突。冲突文件中的冲突标记如下所示:
<<<<<<< HEAD
// 当前分支的代码
=======
// 要合并分支的代码
>>>>>>> <branch-name>
以下是一个详细的处理冲突的步骤:
-
识别冲突文件
- Git 会在合并过程中提示哪些文件有冲突。例如:
Auto-merging file.txt CONFLICT (content): Merge conflict in file.txt
- Git 会在合并过程中提示哪些文件有冲突。例如:
-
打开冲突文件
- 使用文本编辑器打开冲突文件,找到冲突标记。
-
手动解决冲突
- 删除冲突标记,并根据实际情况选择保留或合并代码。例如:
解决后的代码:// 假设这是冲突文件的内容 <<<<<<< HEAD public void methodA() { System.out.println("Method A"); } ======= public void methodA() { System.out.println("Updated Method A"); } >>>>>>> dev
public void methodA() { System.out.println("Updated Method A"); }
- 删除冲突标记,并根据实际情况选择保留或合并代码。例如:
-
添加已解决的文件
- 使用
git add
命令添加已解决的文件:git add file.txt
- 使用
-
完成合并
- 使用
git commit
命令完成合并:git commit -m "Resolve merge conflicts"
- 使用
-
推送更改
- 使用
git push
命令将更改推送到远程仓库:git push -u origin <branch-name>
- 使用