我从github分叉了一个项目,原点指向我自己的github repo,远程指向它的原始仓库,因为我想从远程获取更新,
我使用git pull remote branch_name,然后我的本地仓库处于冲突模式, 现在我想取消git pull的效果,所以我使用git stash,但是很惊讶地发现我没有这样做?怎么了?
详细信息如下:
[mirror@home weechat]$ git status
# On branch master
# Unmerged paths:
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: CMakeLists.txt
# both modified: ChangeLog
# both modified: NEWS
# both modified: configure.in
# both modified: po/cs.po
# both modified: po/de.po
# both modified: po/es.po
# both modified: po/fr.po
# both modified: po/hu.po
# both modified: po/ru.po
# both modified: po/weechat.pot
# deleted by us: src/irc/irc-server.c
# both modified: weechat.spec
#
no changes added to commit (use "git add" and/or "git commit -a")
[mirror@home weechat]$ git stash
CMakeLists.txt: needs merge
ChangeLog: needs merge
NEWS: needs merge
configure.in: needs merge
po/cs.po: needs merge
po/de.po: needs merge
po/es.po: needs merge
po/fr.po: needs merge
po/hu.po: needs merge
po/ru.po: needs merge
po/weechat.pot: needs merge
src/irc/irc-server.c: needs merge
weechat.spec: needs merge
CMakeLists.txt: needs merge
ChangeLog: needs merge
NEWS: needs merge
configure.in: needs merge
po/cs.po: needs merge
po/de.po: needs merge
po/es.po: needs merge
po/fr.po: needs merge
po/hu.po: needs merge
po/ru.po: needs merge
po/weechat.pot: needs merge
src/irc/irc-server.c: needs merge
weechat.spec: needs merge
CMakeLists.txt: unmerged (118d776a202cfc6688290e96fca20ac4f8631f5e)
CMakeLists.txt: unmerged (d05c9a9711a965dcad0aefa03b79ae7a4f5cb8fb)
CMakeLists.txt: unmerged (dd2b14cb188e1927e098705d77e922ad530e232b)
ChangeLog: unmerged (764711936b54aa75812828e1ab15e1632aa3eb9d)
ChangeLog: unmerged (e00d4bf654c3d199e24bf4910b066f1659fea4b6)
ChangeLog: unmerged (dbec2315ffc1f15feede248abe3ed85beaa82ed7)
NEWS: unmerged (457d5443548e6130b50e42a9c87a6f2e8ba4c596)
NEWS: unmerged (706cee4b8853013f20129ccb2fa9057b7500fceb)
NEWS: unmerged (33afffbac62399faa32e2560a9accd95dd9a050e)
configure.in: unmerged (8e1058e5e00a5e671459cee8300420b0488560d9)
...
fatal: git-write-tree: error building trees
Cannot save the current index state
那么如何通过git pull的效果?我应该删除回购,并再次下载?
答案 0 :(得分:10)
运行git merge --abort
。
您正处于合并阶段,因此存储绝对不是您应该做的事情(您将丢失与合并相关的历史信息)。
答案 1 :(得分:7)
git stash
是为了保存更改以备将来使用,而不是用于取消冲突状态,这就是为什么它不起作用。
而是使用git reset ORIG_HEAD
(请参阅How to undo a git pull?)