如何使用GIT从远程获取所有已删除的本地文件

时间:2018-09-26 06:18:48

标签: linux git

我有一个包含多个文件的本地目录。这些档案 已经存储在远程git(BitBucket)中。

我不小心在本地删除了这些文件,我该怎么办? 从远程存储库取回它?

4 个答案:

答案 0 :(得分:1)

您提交删除吗?

如果没有,则可以使用git checkout -- file恢复文件。

如果这样做,则可以git reset到文件仍存在的先前提交。

如果需要更精细的方法,可以git clone将远程存储库复制到新目录,然后使用文件操作将文件从副本复制到原始存储库。

答案 1 :(得分:1)

您可以像这样将本地master分支重置为远程repo master:

git fetch
git reset --hard origin/master

答案 2 :(得分:1)

如果您已经在本地拥有这些文件,则无需从远程获取它们。

您可以使用:

git checkout -- <deleted file name>

您还可以使用文件和目录通配符:

git checkout -- dir1/*

git checkout [<tree-ish>] [--] <pathspec>...
     

通过替换索引或<tree-ish>(最常见的是提交)中的内容来覆盖工作树中的路径。给定<tree-ish>时,与<pathspec>匹配的路径会同时在索引和工作树中更新。

答案 3 :(得分:0)

如果您只是删除了文件但未运行git add,则

git checkout -- <file>

如果您已运行git add,则

git reset HEAD <file>
git checkout -- <file>

如果已将其提交到本地存储库,则

git reset --hard <the_commit_before_bad_commit>

无论如何,最好在尝试时备份所有文件。