一个分支中的小提交就像一个分支对另一个分支的提交
Small commits in one branch as one commit to another
我对翻新工作流程有疑问。
假设我有两个分支,master 和 devel。
还假设 master 是干净的 ,对于问题的范围,让我们想象它只有初始提交“初始提交”。
devel,然而,相当混乱并且有很多小的提交。
我希望将 devel 分支中的那些小改动添加到 master 分支中作为一次提交,假设是“一次提交”
最终 master 必须拥有在 devel 中所做的所有更改,并且历史必须是两次提交(准确地说是“初始提交”和“单次提交”)
您应该创建第三个分支,从 devel 分支进行多次提交。然后,将第三个分支合并到 master 分支,就这样:两个提交到 master 分支。
这是例子
- 主分支
- 开发分支
- 临时分支
git checkout devel
git checkout -b temp
git commit 'Single Commit'
git push
git checkout master
git merge temp
您正在寻找的是 squah 合并。
您的初始 git 图表看起来类似于:
* ca97d57 (HEAD -> dev) dev_commit4
* 7c45353 dev_commit3
* 2f2f9f0 dev_commit2
* 721f8bc (master) Initial commit
所以你只需要三个 git 命令:
# check out master branch
git checkout master
# squash merge dev branch
git merge --squash dev
# commit squashed commits as single commit to master
git commit -m "Single commit"
最终的 git 图将在 master 分支中包含两个提交:
* 1c003b2 (HEAD -> master) Single commit
| * ca97d57 (dev) dev_commit4
| * 7c45353 dev_commit3
| * 2f2f9f0 dev_commit2
|/
* 721f8bc Initial commit
我对翻新工作流程有疑问。
假设我有两个分支,master 和 devel。 还假设 master 是干净的 ,对于问题的范围,让我们想象它只有初始提交“初始提交”。
devel,然而,相当混乱并且有很多小的提交。
我希望将 devel 分支中的那些小改动添加到 master 分支中作为一次提交,假设是“一次提交”
最终 master 必须拥有在 devel 中所做的所有更改,并且历史必须是两次提交(准确地说是“初始提交”和“单次提交”)
您应该创建第三个分支,从 devel 分支进行多次提交。然后,将第三个分支合并到 master 分支,就这样:两个提交到 master 分支。 这是例子
- 主分支
- 开发分支
- 临时分支
git checkout devel
git checkout -b temp
git commit 'Single Commit'
git push
git checkout master
git merge temp
您正在寻找的是 squah 合并。
您的初始 git 图表看起来类似于:
* ca97d57 (HEAD -> dev) dev_commit4
* 7c45353 dev_commit3
* 2f2f9f0 dev_commit2
* 721f8bc (master) Initial commit
所以你只需要三个 git 命令:
# check out master branch
git checkout master
# squash merge dev branch
git merge --squash dev
# commit squashed commits as single commit to master
git commit -m "Single commit"
最终的 git 图将在 master 分支中包含两个提交:
* 1c003b2 (HEAD -> master) Single commit
| * ca97d57 (dev) dev_commit4
| * 7c45353 dev_commit3
| * 2f2f9f0 dev_commit2
|/
* 721f8bc Initial commit