2

我有一个过时的仓库,我的机器上没有任何东西可以添加。我想从 github 拉入最新的稳定分支。

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

4

3 回答 3

5

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

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

您也可以按任一顺序执行此操作。

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

git clean -f

与克隆到新目录相比,这种方法的优势在于您仍将保留一些 history/ reflog。如果您绝对不关心这些数据,那么任何一种方法都可以。

于 2013-03-26T18:57:48.527 回答
2

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

于 2013-03-26T19:33:24.133 回答
1

我同意Mattmeagar 的建议,但我觉得我应该根据过去rm在 Git 项目中使用该命令的经验对他们进行一些补充。

如果您绝对确定不想将包含 repo 的目录中的任何内容保留cd到文件夹上方的级别,以便您可以使用git rm. 我发现 usinggit rm比使用普通的 bashrm命令更简洁。从以前的事故中,我只是删除了暂存分支目录中的一个文件,我了解到这样做会使整个分支偏离轨道,只是因为它没有记录在差异记录中,如果我尝试了git commit它会输出“分支已启动迄今为止”。误报。

因为您希望擦除文件尽可能接近不留下残留、难以检测或几乎无法检测到的元数据块,所以我想说递归强制删除在这里是合理的。即,如果文件夹名为MyRepo,只需

git rm -rf MyRepo

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

此后,继续将 GitHub 托管的版本克隆到与以前相同的位置,或任何您觉得舒服的地方,然后做您通常做的事情。

于 2013-03-26T19:50:27.887 回答