什么是SVN UPDATE的git等价物?

时间:2014-11-21 05:19:37

标签: git svn version-control

使用SVN,您可以删除本地文件(将其放入垃圾桶)并在删除后通过运行svn update来恢复它。 SVN客户端只需提取文件的新副本(目录中没有其他任何内容)。

我还没有能够用GIT解决这个问题。

我在Windows上使用Tortoise Git并且在' pull'或者“获取”#39;没有恢复文件。我不想再次检查整个存储库(克隆)......

2 个答案:

答案 0 :(得分:0)

您可以使用命令组合还原所有已删除的文件。显然,这仅适用于您删除但尚未提交的文件。

有问题的命令链可能如下所示:

git checkout -- $(git diff --name-only --diff-filter=D)

正如torek在评论中已经解释git checkout是恢复文件的命令,有趣的部分发生在git diff命令。
--name-only选项告诉diff仅打印已更改文件的文件名,而--diff-filter=D则会忽略除已删除文件之外的所有内容。

为了便于使用,您可以创建一个别名,该别名也允许您在CMD中使用该命令。创建别名可能如下所示:

git config --global alias.restore '!git checkout -- $(git diff --name-only --diff-filter=D)'

您必须在CMD上使用双引号(")。

然后,您可以使用git restore轻松使用该命令。

有关详细信息,您可以查看git diffcheckoutconfig文档。

答案 1 :(得分:0)

您可以执行“检查修改”,然后您将看到已删除文件的列表。右键单击任何文件,然后选择还原