我有一个git repo,我在上面进行更改,其中包含多个提交,但尚未合并。
我有多个尚未提交的本地更改,但是我已将文件添加到git中。
我想从大师那里得到一些改变,所以我做了
git stash
git pull
git stash pop
现在,我意识到我不必执行拉动,而需要将来自主服务器的拉动恢复到本地仅拥有已提交/未提交更改的状态。
这是我的git reflog的外观:
git reflog
565eb (HEAD -> mainline) HEAD@{0}: reset: moving to HEAD
565eb (HEAD -> mainline) HEAD@{1}: commit: <commit msg>
71edb HEAD@{2}: commit: <commit msg>
909ba HEAD@{3}: commit: <commit msg>
.
.
.
我正在阅读git reset --hard作为选项,但不确定是否要放弃未提交的更改,还是可以先提交然后重新设置?
答案 0 :(得分:1)
git reset --hard
将删除您未提交的更改。
我要做的是创建另一个git stash
以保存我未提交的更改。
然后转到git reset --hard
返回所需的修订版本。
然后使用git stash pop
找回未提交的更改。
如果要确保不会丢失任何内容,可以在进行任何更改之前制作文件夹的备份副本,这样您就可以保存状态并可以自由进行试验。