i forked a project from github, and the origin point to my own github repo, remote point to its original repo, since i want to get update from remote,
i use git pull remote branch_name, then my local repo is in conflict mode, now i want to cancel the effect of git pull, so i use git stash, but was surprised to find i failed to do this? what's wrong?
the detailed info is as follows:
[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
so how to cannel the effect of git pull? should i delete repo, and download it again?
git stash temporarily shelves (or stashes) changes you've made to your working copy so you can work on something else, and then come back and re-apply them later on.
Git stash saves the uncommitted changes locally, allowing you to make changes, switch branches, and perform other Git operations. You can then reapply the stashed changes when you need them. A stash is locally scoped and is not pushed to the remote by git push .
You can also apply a specific stash (if you have stashed more than once) by running git stash apply stash@{1} (the '1' denotes the second before the last stash). If you decide not to commit your work once you have restored the stash, you can run git checkout , which resets all uncommitted code.
Run git merge --abort
.
You are in the middle of a merge, so stashing is definitely not something you should do (you would lose the history information associated with the merge).
git stash
is to save the changes for future use, not for canceling a conflicted state, that's why it doesn't work.
Instead use git reset ORIG_HEAD
(see How to undo a git pull?)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With