Jez*_*Jez 129 git merge rebase
我在git中变基础,我得到的一个冲突是"两个都添加" - 也就是说,在我的分支中已经独立添加了完全相同的文件名,并且在分支中我正在重新定位. git status告诉我:
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both added: src/MyFile.cs
Run Code Online (Sandbox Code Playgroud)
我的问题是,我该如何解决这个问题?我必须使用合并工具还是只能从命令行执行此操作?如果我git rm src/MyFile.cs,git如何知道我要删除哪个文件版本以及我想保留哪个文件?
CB *_*ley 129
如果您使用git rmgit将从索引中删除该路径的所有版本,因此您的解决操作将使您没有任何一个版本.
您可以使用git checkout --ours src/MyFile.cs从要重新定位的分支git checkout --theirs src/MyFile.cs中选择版本,或从要重新定位的分支中选择版本.
如果您想要混合,则需要使用合并工具或手动编辑它.
Ana*_*tib 67
我有时会发现使用--theirs和--ours选项来识别文件的来源会让人感到困惑.我的大部分时间都将在分支机构中,我所指的是--theirs!
你也可以使用 git checkout <tree-ish> -- src/MyFile.cs
凡<tree-ish>可以通过分支名称更换或者提交-ID,其中包含你想保留的文件.
git checkout 6a363d8 -- src/MyFile.cs
git checkout my_branch -- src/MyFile.cs
git checkout HEAD -- src/MyFile.cs
Tom*_*Tom 37
什么时候......
git checkout --ours someFile
在执行git状态时,它似乎没有做任何事情.
请记住事后再这样做.
git add someFile
git status
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55750 次 |
| 最近记录: |