【问题标题】:How to sync with remote repo after a failed pull拉取失败后如何与远程仓库同步
【发布时间】: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 分支合并(樱桃采摘?)本地更改。听起来对吗?

标签: git merge pull


【解决方案1】:

你可以检查远程主机的当前状态

git checkout master
git reset --hard upstream/master

然后从您的 save-local-changes 分支合并您的本地更改

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-17
    • 2013-03-06
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2016-04-27
    • 2014-09-27
    • 1970-01-01
    相关资源
    最近更新 更多