撤消来自master的git pull,通过本地更改使repo进入状态

时间:2019-03-27 17:49:24

标签: git github merge version-control

我有一个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作为选项,但不确定是否要放弃未提交的更改,还是可以先提交然后重新设置?

1 个答案:

答案 0 :(得分:1)

git reset --hard将删除您未提交的更改。

我要做的是创建另一个git stash以保存我未提交的更改。

然后转到git reset --hard返回所需的修订版本。

然后使用git stash pop找回未提交的更改。

如果要确保不会丢失任何内容,可以在进行任何更改之前制作文件夹的备份副本,这样您就可以保存状态并可以自由进行试验。