我尝试寻找一种优雅的方式(即不涉及删除本地目录并再次克隆)来使用 git 从远程仓库更新严重陈旧的本地仓库,但没有找到好的答案。我正在寻找的命令基本上可以解决任何冲突,方法是使用远程仓库所说的任何内容并在需要时删除本地文件(以防它们不再存在于远程仓库中)并忽略我可能做出的任何和所有更改跟踪的文件。
问问题
297 次
2 回答
1
你可以:
- 删除所有本地分支(参见“删除所有本地 git 分支”)
- 重新创建本地分支,跟踪远程仓库的远程分支:请参阅“将所有远程 git 分支跟踪为本地分支”
- 清理新分支不再引用的旧提交:“如何删除不需要的 git 提交? ”
因此,您不必处理“合并冲突”:这是一种全局重置(如果您有任何想要保留的工作,请谨慎行事,您的问题似乎并非如此)。
OP Syrahn采用了一种更简单的方法:
那时我只是
rm -Rf
目录并从头开始克隆。
Git 确实需要一种--theirs --all --force
东西。
请注意,有一些方法可以模拟“他们的”选项,即使“ Git merge -s theirs: Simply? ”解释了为什么它不是很明显:参见“ git command for making a branch like another ”
于 2012-10-04T13:26:16.523 回答
1
尝试使用以下命令:
git fetch
git reset --hard origin/master
这将强制您的本地分支匹配远程分支,同时丢弃任何更改。但是请注意,您需要为每个分支执行第二步。
于 2013-03-15T03:44:32.720 回答