我在github上创建了一个存储库。我的初始存储库内容如下:
D:\github\Learn-PyQt>dir Calculate.py Connections.py CurrencyCalculator.py ImprovedSignals.py
以上所有文件都是我的远程git存储库的最新文件。我的意思是我在我的存储库上成功执行了git add, git commit, git push
。
现在错误地执行了上述过程后,我从系统(localmachine)中删除了文件Connections.py
。删除后我还没有任何推动。
现在,由于文件存在于我的github存储库中,我可以通过任何方式执行命令并更新上述本地目录的内容。
我知道可以删除当前存储库并执行git clone
但我不想从我的存储库下载所有文件。只是被删除的那个。所以,像git sync currentdirectory
。
答案 0 :(得分:3)
简单地
git checkout -- Connections.py
您将在上次推送或最后添加到索引时返回该文件的内容(减去自上次推送以来您可能已执行的任何本地修改)。
简而言之,git checkout
可用于文件或路径,而不仅仅是提交或标记之类的完整树。
如果您在意识到文件被删除之前已经进行了多次提交,那么您将不得不应用“Restore a deleted file in a Git repo”之一的解决方案。
我特别喜欢,对于缺少某些文件的目录:
git ls-files -d | xargs git checkout --
(git ls-files -d
会显示已删除的文件)