新的,可能是空的,Git分支中的现有文件?

时间:2015-11-02 20:14:51

标签: git

我正在学习Git。当我创建一个新的(空)分支,签出它然后列出其内容时,它显示了主分支中的所有文件(我以为我已经离开了)。这是为什么?

4 个答案:

答案 0 :(得分:4)

您运行的命令 - 无论哪个,有多个 - 都不会创建新的空分支。它根据您之前的分支所在的完全相同的历史记录创建一个新分支,允许您从该分支转移。

如果您真的想要创建一个全新的分支而不与任何现有分支共享历史记录,请查看git checkout的{​​{1}}选项。

答案 1 :(得分:2)

每当您签到新分支时,例如:git checkout -b my-new-branch,您当前所在分支的所有内容也将存在于您的新分支中。

如果要创建新分支,并且打算启动新项目,则应该可能正在创建新项目/存储库。当您想要处理项目的特定部分时使用分支,但是将其与项目的主要部分隔离,直到它完成,您可以将分支合并在一起。

答案 2 :(得分:1)

您(通常)不会检查新的空分支。您创建一个在当前提交时启动的新分支。它也没有触及索引或工作目录,因此所有尚未提交的修改都会显示在git status中。

答案 3 :(得分:1)

我猜你刚刚提到的是预期的行为。 如果您从非空分支创建新分支,它将包括该分支的所有文件+未更改的更改 在这种状态下,你的新分支甚至是master(具有master拥有的所有提交) 由于您对新分支进行了更改,因此它将与主分支不同。

我想,您希望继续使用以下选项之一:

  1. 创建新分支
  2. 提交更改
  3. 合并为主人
  4. 或者,如果您想要做一些不同的事情而不是改变您当前的项目,您应该创建一个新的存储库。