GIt - 当我修改代码时如何创建和切换到分支?

时间:2013-07-14 15:45:27

标签: git version-control

我在掌握时写了一些代码,并意识到我正在做一些我不想放入大师的实验。阅读this documentation,似乎我应该完成

git checkout -b experiment

在我开始编写代码之前。我现在该怎么办?我担心如果我执行上面的命令,会发生什么

  1. 将创建分支experiment(从主副本重复)
  2. Git将从这个新分支结账,这意味着我将失去工作。
  3. 如何在不影响主人的情况下将我当前的工作提交到新分支?

2 个答案:

答案 0 :(得分:5)

Carl has the correct answer,但我只是想补充一点,如果您所做的工作尚未提交,另一个选择就是在您切换到新分支之前隐藏您的更改以保存您的工作:< / p>

$ git stash save
$ git checkout -b new-branch
$ git stash pop

第一个命令将您的更改保存到存储,并使您的工作目录保持清洁。然后创建分支,然后从存储中删除更改并将其应用到分支。完成!

答案 1 :(得分:4)

你有任何提交吗?如果没有,那checkout命令将完全按照您的意愿执行。

如果你有,你仍然可以 - 该命令将从你当前的HEAD创建并结帐新分支,而不是master。如果您想在创建新分支后reset掌握,也可以确保新分支首先包含您需要的所有内容!