我有一个包含数百个新文件和不同文件的分支,我只想将其中的十几个文件合并到我的发布分支中。我尝试运行一个没有提交的普通 git merge,并且自动暂存了数百个我不想要的文件(除了发现数十个需要手动合并的冲突之外)。然后我尝试执行 git revert 以取消暂存所有自动合并的文件文件,只需将我想要的文件添加回索引,但这也中止了合并并在文件中留下了所有冲突标记。我以为我可以运行合并工具,但它现在无法识别冲突标记......
我是否以完全错误的方式处理这个问题......或者我错过了什么?
小智 2
问题有点模棱两可。我会尝试重新表述并相应地回答。假设您只想合并branchA 中的文件(file2, file3):
1)获取分支提交的树sha1:
git cat-file -p branchA
Run Code Online (Sandbox Code Playgroud)
2) 检查该树下 file2 和 file3 的更改:
git reset <sha1> -- file2 file3
Run Code Online (Sandbox Code Playgroud)
3) 提交此更改:
git commit -m 'Merge of branchA'
Run Code Online (Sandbox Code Playgroud)
如果您已经发送了有关暂存的消息,请执行以下操作(以防所有需要的更改都提前提交): git reset --hard
| 归档时间: |
|
| 查看次数: |
5479 次 |
| 最近记录: |