我想获取存储库中的最新文件,并覆盖我在本地拥有的文件。我怎么能用git客户端做到这一点?
答案 0 :(得分:377)
如果您只想覆盖一个文件:
git fetch
git checkout origin/master <filepath>
如果要覆盖所有更改的文件:
git fetch
git reset --hard origin/master
(这假设您在本地处理master
,并且您希望对原始master
进行更改 - 如果您在某个分支上,则将其替换为。)
答案 1 :(得分:18)
最简单的版本,假设您正在使用所需文件的同一分支上运行:
gc='git checkout'
。
我经常这样做,因为我将别名设置为Function()
。
答案 2 :(得分:3)
完全同步的任务很少:
git reset HEAD --hard
git clean -f
git pull origin master
或者,我更喜欢的是,我可以创建一个新的分支,使用最新的遥控器:
git checkout origin/master -b <new branch name>
origin是我的远程存储库引用,master是我考虑的分支名称。这些可能与您的不同。
答案 3 :(得分:3)
这对我有用:
git reset HEAD <filename>
答案 4 :(得分:2)
如果您想使用特定分支覆盖所有本地更改,那么您可以这样做
git reset --hard origin/feature/branchname
feature/branchname -> 是我的分支名称,我用它替换了所有本地更改
我打算从功能/分支名称分支中获取所有更改并提交到我正在工作的分支,我的分支名称是“mybranch”。然后我首先替换了我已经推送到我的分支 mybranch 的本地更改,然后我必须将此命令推送到我的分支。强制推送命令是
git push --force
它会将我从 'feature/branchname' 分支获得的任何更改推送到我的 'mybranch'。
答案 5 :(得分:0)
我相信您正在寻找的是“ git restore”。
最简单的方法是在本地删除文件,然后对该文件执行git restore命令:
$ rm file.txt
$ git restore file.txt