2010-10-16 53 views

回答

285

如果你想覆盖只有一个文件:

git fetch 
git checkout origin/master <filepath> 

如果要覆盖所有改变文件:

git fetch 
git reset --hard origin/master 

(这里假设你的工作master本地和您需要对原产地的master进行更改 - 如果您在分支机构上,请改为替代此项。)

+0

git checkout与目录 – mayu 2016-02-15 12:26:57

+0

一起工作这是相反的。它错误地用本地文件覆盖了存储库。 – 2016-12-01 00:16:17

+0

'git fetch git reset --hard origin/master'或'/ ' – 2017-06-13 10:43:25

1

Fu LL同步有几个任务:

  • 还原更改
  • 从远程仓库

git的复位HEAD - 硬删除新文件

  • 获得最新

    git的清洁-f

    git pull origin master

  • 否则,我更喜欢的是,我可能会造成与从最新的一个新的分支远程使用:

    git checkout origin/master -b <new branch name> 
    

    起源是我的远程仓库参考,并掌握是我考虑的支行名称。这些可能与你的不同。

    6

    最简单的版本,假设你在同一分支上,你想要的文件是关于工作:

    git checkout path/to/file

    我这样做的频率很高,我的别名设置为gc='git checkout'

    +1

    简单,优雅,并且完成这项工作。只记得之前'git fetch'。 – 2017-07-28 22:23:35

    +1

    'git checkout path/to/file'为我工作。另外,我发现这个图对概念上理解'git checkout'的作用非常有用。 [链接](http://images.osteele.com/2008/git-transport.png) – 2017-08-22 23:00:34