我正在使用git pull
更新我的代码,但在一个文件中出现了提交冲突。我想从pull
进行更改并覆盖在本地仓库中执行的操作。是否有一些命令可以简单地从pull
进行更改并覆盖本地更改?
或者我是否需要手动编辑此类文件/文件?..
答案 0 :(得分:0)
试试这个:
git fetch --all
git reset --hard origin/master
P.S。:可能的两面性: Force Git to overwrite local files on pull
答案 1 :(得分:0)
据我了解你的情景:
简单地说,它是可行的,但如果您失去工作,最好解决冲突。
我们无法使用git pull
,因为这会执行git fetch
和git merge
操作,但我们可以做的是移动您的引用本地分支与远程分支的分支相匹配。
为此,我们将使用git fetch
和git reset
。
git fetch && git reset --hard origin/BRANCH
这将抛弃您的本地更改,您的分支现在将与遥控器匹配。我不能强调,如果你这样做,你的本地更改将是一个相当有点的恢复(有通过reflog的方法),所以在你尝试这之前,确保这是你的想做。
听起来您希望保留本地更改,提取最新更改,并在此基础上进行更改。这可以通过git rebase BRANCH
来完成。你仍然需要解决冲突,但冲突将在你的历史工作之前发生,使处理起来更容易。
保留原创作品的最后一种方法是存放它。使用git reset --soft HEAD~1
将现有的未推送提交移回到暂存状态,然后使用git add . && git stash
进行跟进,以便将更改保留在存储中。如果你想将存储应用/弹出到分支,你仍然需要解决冲突,但这样做会更直接。