我遇到合并冲突,我通常只需重命名文件并从repo ti解析或手动编辑编辑。这一次,我对具有冲突的文件进行了更改,并且它位于暂存区域中。
我尝试使用git reset HEAD <file>
,然后再次使用git pull
,但我仍然遇到合并冲突。
有没有办法强制覆盖麻烦的文件?
以下是我收到的消息: 错误:合并将覆盖对以下文件的本地更改: 分贝/ profile_edit.php
我将文件名更改为profile_edit.phpbkup。
然后我做git pull
我仍然得到同样的错误。为什么是这样?该文件甚至不再存在,那么它如何被替换?
感谢。
答案 0 :(得分:0)
如果你想将你同时进行的所有更改丢弃到上游:
git fetch origin
git push -f . origin/branchA:branchA
如果你想解决有利于上游的冲突:
git fetch origin
git merge -s recursive -Xtheirs origin/branchA
希望这会有所帮助。
答案 1 :(得分:0)
您可以使用git reset filename
将文件从索引中删除,如果您不希望这些更改将--hard
切换添加到重置位置。
冲突本身需要解决。
一个选项是git fetch remoteRepo
这将获取远程仓库,但不会尝试将分支合并在一起。
要区分您感兴趣的文件的两个版本,请使用git diff HEAD remoteRepo/remoteBranch <fileName>
如果存在合并冲突,并且您希望保留两个文件的内容,则除了解决冲突之外,您无法做任何事情。