繁体   English   中英

如何用github上的本地仓库覆盖本地仓库?

[英]How do I overwrite my local repo with the one on github?

我有一个过时的仓库,没有任何可添加的内容。 我想从github获取最新的稳定分支。

我应该克隆它吗? 我不确定。

我认为您应该能够对所有文件进行提取,然后将它们重置为原始文件:

git fetch --all
git reset --hard origin/master

您可能也可以按任何顺序进行。

如果要删除已添加的所有未跟踪文件,请也进行清理:

git clean -f

与克隆到新目录相比,此方法的优势在于,您仍将保留一些history / reflog 如果您绝对不在乎该数据,则两种方法都可以。

我同意Mattmeagar的建议,但根据过去在Git项目中使用rm命令的经验,我应该向他们添加一些建议。

如果您完全确定不想从目录中保留包含仓库的任何内容,请将cd保留到文件夹上方的级别,以便可以使用git rm删除它。 我发现使用git rm比使用普通的bash rm命令更整洁。 从以前的一个偶然事件中,我只是删除了我的暂存分支目录中的一个文件,我了解到这样做使整个分支偏离了轨道,只是因为这没有记录在diff记录中,如果我尝试执行git commit ,它将输出“ Branch”已是最新”。 误报。

因为您希望擦除文件时几乎不留下任何残留,难以检测或几乎不可检测的元数据块,所以我说递归强制删除在这里是合理的。 即,如果该文件夹名为MyRepo ,则只需

git rm -rf MyRepo

然后只需仔细检查我要做的就是cd MyRepo ,显然是错误的,因为该文件夹不应该再存在了。

之后,继续在以前的相同位置或任何您感到舒适的地方克隆GitHub托管的版本,并执行通常的操作。

只是git pull --all都应该得到最新的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM