是否有一个git merge命令将另一个分支合并到当前分支中,但是不会更改任何文件?
或者换句话说,我想在分支A上创建一个新的提交:
考虑两个长期运行的分支,一个矿,一个他们的.我想将他们的分支合并到我的分支上,但由于代码实际上是这样做的,我想将它标记为合并.下次我再次合并时,它将不会回溯到将在此过程中创建的合并提交.
我知道-X mine/ --strategy-option=mine但只有在发生实际合并冲突时才会启动.不应在我的分支上应用添加/删除的文件.
如果您绝对确定您不想要theirs,则可以merge不提交就执行,然后mine按原样签出,然后完成合并提交。
git merge --no-commit their-branch
git rm . -rf
git checkout HEAD -- .
git commit
Run Code Online (Sandbox Code Playgroud)
在git checkout HEAD -- .将覆盖任何冲突或自动修改的文件。此时执行 agit status应该表明没有任何修改,但您仍然处于合并过程中。在commit随后完成的非合并的合并。
git rm . -rf最初,我省略了这个工作流程中能够从 中删除全新文件的任何部分theirs,因为它们git checkout HEAD -- .会保持完整。
该行git rm . -rf确保git删除当时已知的每个文件。这将包括消除其存在的任何文件theirs,但没有ours。然后我们将checkout仅那些来自ours, 并提交由此产生的空合并。
| 归档时间: |
|
| 查看次数: |
5415 次 |
| 最近记录: |