【发布时间】:2016-10-19 04:26:54
【问题描述】:
我正在处理一个作为远程存储库分支的项目。有时,我会通过 git pull upstream master 将我的项目与远程更改同步。
这是发生了什么:
- 昨天,在提交了我最后一次本地更改后,我做了
git pull upstream master#1。 - 获得了新文件,不得不合并其中的一些,然后尝试构建项目。构建失败。
- 然后我取消暂存所有更改的文件并运行
clean all,错误地假设我撤消了git pull upstream master。 - 然后我又做了一些本地更改并提交了它们。
- 同时,遥控器已经修好了,我要同步。
- 但是,当我执行
git pull upstream master#2 时,我只在 pull #1 之后对遥控器进行了更改。
如何从远程获取所有更改,包括我最初在 pull #1 中获得的更改,而不会丢失自 pull #1 以来我所做的本地更改?
更新 1:
我刚刚做了git merge --abort,这似乎取消了最后一个pull(#2)。
然后我创建了一个新分支save-local-changes,如有必要,我希望在与远程同步后将本地更改合并回master。我现在如何重做(强制)拉 #1?
【问题讨论】:
-
当您提交本地更改时,未暂存的文件是否仍然存在?您没有提到您将更改重置为原始、本地、版本...
-
@j6t - 另请参阅我对问题的更新。我还没有重置本地(主)分支。但我开始认为我需要为了能够重做拉 #1,然后从我的
save-local-changes分支合并(樱桃采摘?)本地更改。听起来对吗?