用它的原始仓库强制覆盖本地文件?

Bla*_*man 209 git

我想获取存储库中的最新文件,并覆盖我在本地的文件.我怎么能用git客户端做到这一点?

Amb*_*ber 418

如果您只想覆盖一个文件:

git fetch
git checkout origin/master <filepath>
Run Code Online (Sandbox Code Playgroud)

如果要覆盖所有已更改的文件:

git fetch
git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)

(这假设您在master本地工作,并且您希望对原点进行更改master- 如果您在分支上,则替换它.)

  • 不确定 @C_Rod 做了什么,但 *这* 不可能影响存储库 (3认同)
  • `git fetch git reset --hard origin/master` 或 `/&lt;分支名称&gt;` (2认同)

J.M*_*zen 22

最简单的版本,假设您正在处理所需文件所在的分支:

git checkout path/to/file.

我经常这样做,我已经设置了一个别名gc='git checkout'.

  • 简单,优雅,完成工作.记得以前'git fetch'. (4认同)
  • `git checkout path/to/file`为我工作.另外,我发现这个图对于从概念上理解`git checkout`正在做什么非常有用.[链接](http://images.osteele.com/2008/git-transport.png) (4认同)

Pau*_*ves 9

我相信您正在寻找的是“git Restore”。

最简单的方法是在本地删除该文件,然后对该文件执行 git Restore 命令:

$ rm file.txt
$ git restore file.txt 
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这仅适用于 Git 2.23 及更高版本。 (2认同)

Cha*_*ara 5

完全同步有几个任务:

  • 恢复更改
  • 删除新文件
  • 从远程存储库获取最新版本

git 重置 HEAD --hard

git 清理 -f

git pull origin 大师

或者,我更喜欢的是,我可以使用远程的最新版本创建一个新分支:

git checkout origin/master -b <new branch name>
Run Code Online (Sandbox Code Playgroud)

origin 是我的远程存储库引用,master 是我考虑的分支名称。这些可能与您的不同。


arn*_*arn 5

这为我工作:

git reset HEAD <filename>
Run Code Online (Sandbox Code Playgroud)