假设我有一个任意的本地 Git 工作目录,它是从某个远程仓库克隆而来的。我想让本地 Git 仓库与远程仓库完全相同,而不考虑自从克隆以来本地目录发生了什么变化。我不想再进行一次完整的克隆。
假设本地工作目录包含以下内容:
- 额外的未跟踪文件 - 删除的文件 - 暂存的更改 - 可能位于任意分支上 - 自从从远程克隆以来已有一堆提交
现在,我想让这个本地仓库完全反映远程仓库。这是我的当前解决方案,但我不确定它是否涵盖了所有情况,也不确定是否有更简单的解决方案:
假设本地工作目录包含以下内容:
- 额外的未跟踪文件 - 删除的文件 - 暂存的更改 - 可能位于任意分支上 - 自从从远程克隆以来已有一堆提交
现在,我想让这个本地仓库完全反映远程仓库。这是我的当前解决方案,但我不确定它是否涵盖了所有情况,也不确定是否有更简单的解决方案:
git stash
git clean -f -x -d
git checkout master
git fetch origin
git reset --hard origin/master
git pull origin master
有更好的方法来做这件事吗?
fetch
+reset
之后,最终的git pull
明显是多余的。 - Dietrich Epp