代码之家  ›  专栏  ›  技术社区  ›  user8238012

远程和本地git存储库

  •  3
  • user8238012  · 技术社区  · 7 年前

    我有一个分支叫做masterdev。

    我对该分支进行了一些提交,因此服务器上的masterdev可能需要提前10次提交。

    我可能会恢复或重新设置基准,这可能与我在这些提交中所做的相反。但我认为这看起来一点也不清楚。

    因此,如果masterdev落后,我想做的是获得与git pull origin masterdev相同的行为。

    4 回复  |  直到 7 年前
        1
  •  4
  •   katniss.everbean    7 年前

    我想你想要的是-这将重置你的masterdev本地版本,删除你的提交。然后你拉,以确保你是最新的。

    git reset --hard origin/masterdev
    
    git pull origin masterdev
    
        2
  •  3
  •   torek    7 年前

    git reset --hard 足够:

    $ git status
    On branch masterdev
    Your branch is ahead of 'origin/masterdev' by 10 commits.
      (use "git push" to publish your local commits)
    nothing to commit, working tree clean
    $ git fetch origin
    ... [snip]
    $ git reset --hard origin/masterdev
    

    如果你确实有一些工作要保存,你可能应该把它交出来,做一些比简单的工作更复杂的事情 git重置--硬 .

    git fetch git status ,但前面和/或后面的提交数可能会因此而改变。我建议避免 git pull 一般来说,在这种情况下,您不需要它。)

        3
  •  1
  •   ShellZero    7 年前

    git reset --hard origin/masterdev 应该做到这一点。然后你可以简单地做 git pull origin masterdev

        4
  •  0
  •   RuNpiXelruN    7 年前

    简单,只是 git checkout --track origin/master 。将在本地为您创建分支,并且与远程版本完全相同