1

好的,我在 Windows 上有 git 1.7.11.1,我有一个带有 2 个分支的本地测试存储库。一是掌握index.php和help.php。然后我创建另一个名为 slave 的分支 :)

我从 git 运行bash rm help.php,它从文件夹中消失了,但我什么也没做。我切换到 checkout master 分支,它应该恢复文件 help.php 因为它没有在 master 分支中修改,不是吗?

它不这样做。当我回到从属分支并提交然后切换到结帐主时,会出现 help.php。这是它应该工作的方式吗?为什么?

4

1 回答 1

2

这听起来像help.phpin的版本master并且slave是相同的版本,否则 git 不会让你更改分支。

未暂存和暂存的更改尚未提交到任何分支,因此,如果没有冲突,git 将允许您在分支之间进行这些更改。如果您已提交删除到,slave那么文件将在您切换时返回master

实际上,您可以使用以下命令“撤消”删除(在任一分支上):

git checkout -- help.php

这会将索引版本检出help.php到您的工作树中。

如果您已暂存但未提交删除,则必须使用以下命令检查HEAD版本:

git checkout HEAD -- help.php
于 2012-06-23T15:11:44.430 回答