基本上我一直在研究一个功能,但是当我将该功能推回到主仓库以进行代码审查时,他们喜欢整个功能被推送为一次提交.我通常使用git rebase -i
这个并设置除第一次提交以外的所有内容和第一次编辑.然后我会在每次发生冲突时粘贴最新的文件.
我宁愿不必在冲突期间粘贴各种文件.我希望能够保留最新的文件,并基本上删除它们如何变得更简单的命令的历史记录.
编辑:
我正在寻找一个等同于这个bash脚本的Git命令:
for file in `git diff --name-only master foo`
git checkout foo $file
Run Code Online (Sandbox Code Playgroud)
Tod*_*obs 11
你想要的是一个被压扁的合并.这会将您的所有更改合并到工作树中,但您可以自己进行实际提交.例如:
git checkout foo
git rebase -i master
git checkout master
git merge --squash foo
git commit -m 'Squashed commit.'
Run Code Online (Sandbox Code Playgroud)
来自rebased分支的所有更改都将作为单个提交进行,并带有一条提交消息.只要您在foo分支中解决了与rebase的任何冲突,合并时在合并到master时不会产生冲突.
归档时间: |
|
查看次数: |
3685 次 |
最近记录: |