我有一个过时的仓库,我的机器上没有任何东西可以添加。我想从 github 拉入最新的稳定分支。
我应该克隆它吗?我不确定。
我认为您应该能够对所有文件进行提取,然后将它们重置为原点:
git fetch --all
git reset --hard origin/master
您也可以按任一顺序执行此操作。
如果要删除已添加但未跟踪的任何文件,也请进行清理:
git clean -f
与克隆到新目录相比,这种方法的优势在于您仍将保留一些 history/ reflog。如果您绝对不关心这些数据,那么任何一种方法都可以。
只是git pull --all
应该得到最新的东西。
我同意Matt和meagar 的建议,但我觉得我应该根据过去rm
在 Git 项目中使用该命令的经验对他们进行一些补充。
如果您绝对确定不想将包含 repo 的目录中的任何内容保留cd
到文件夹上方的级别,以便您可以使用git rm
. 我发现 usinggit rm
比使用普通的 bashrm
命令更简洁。从以前的事故中,我只是删除了暂存分支目录中的一个文件,我了解到这样做会使整个分支偏离轨道,只是因为它没有记录在差异记录中,如果我尝试了git commit
它会输出“分支已启动迄今为止”。误报。
因为您希望擦除文件尽可能接近不留下残留、难以检测或几乎无法检测到的元数据块,所以我想说递归强制删除在这里是合理的。即,如果文件夹名为MyRepo,只需
git rm -rf MyRepo
然后只是仔细检查我要做的就是简单地cd MyRepo
,显然期待一个错误,因为该文件夹不应该再存在了。
此后,继续将 GitHub 托管的版本克隆到与以前相同的位置,或任何您觉得舒服的地方,然后做您通常做的事情。