本文是我之前关于 git pull 的文章的后续: Git: What does EXACTLY "git pull" do?
假设我想对某个分支执行 "git pull",并且希望我的本地分支副本与远程分支的副本完全相同。如何实现?
本文是我之前关于 git pull 的文章的后续: Git: What does EXACTLY "git pull" do?
假设我想对某个分支执行 "git pull",并且希望我的本地分支副本与远程分支的副本完全相同。如何实现?
git fetch && git reset --hard FETCH_HEAD
这里使用了特殊的FETCH_HEAD
引用,因此您不需要输入上游分支名称或其他任何内容。
git fetch
git reset --hard origin/{insert branch name}
git clean -fd
如果您希望完全相同,包括删除gitignore的内容,请使用git clean -fdx
。
1) fetches the remote repository
2) either makes a rebase or a merge
使用 git fetch
获取最新代码后,git reset @{u}
可以将分支指向它的 upstream。使用 git reset --hard @{u}
还会检出该版本,永久性地丢弃工作目录中跟踪文件的任何更改。
如果您想要放弃未跟踪的文件,可以在 bash 中执行以下操作:
bash -c '
GLOBIGNORE=.:..
shopt -s dotglob extglob
rm -rf !(.git)
git reset --hard @{u}'
git reset --hard origin/<分支名称>
。 - Oliver Charlesworth