我有一个包含多个文件的本地目录。这些档案 已经存储在远程git(BitBucket)中。
我不小心在本地删除了这些文件,我该怎么办? 从远程存储库取回它?
答案 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>
无论如何,最好在尝试时备份所有文件。