2013-12-12 64 views
0

如果我在分支b-one上,而且我运行的是git commit -m "init commit",然后是git checkout -b b-two,那么提交是否携带到新分支?更一般地说,是提交分支特定?或者当你提交时,你只是在本地机器上提交并可以从任何分支访问该提交?提交然后签出git中的另一个分支进行旧提交?

+1

你的新分支股的历史,直到这一点(https://www.atlassian.com/git/tutorial /混帐分支#!分支)。 –

回答

1
  1. 提交是否携带到新分支?是的,但只有当它是一个新的分支。其他现有分支不会在您的历史记录中提交。

git checkout命令让你在由git分支创建的分支之间导航。检出分支会更新工作目录中的文件以匹配存储在该分支中的版本,并且它会通知Git记录该分支上的所有新提交。把它看作是一种选择你正在开发哪一行的开发方法。

  1. 更一般地说,是否提交分支特定?不,历史是共享的。
  2. 或者当你提交时,你只是在你的本地机器上提交?是的,在推动之前,没有人知道你的提交。
  3. 可以从任何分支访问该提交?不。“访问”是什么意思?如果您的意思是提交历史记录或更改的代码,则只有您提交的更改在分支中创建的分支才具有提交历史记录。

当你切换分支未提交的修改更有趣:请阅读 http://www.gitguys.com/topics/switching-branches-without-committing/

+2

实际上,它*会带*到新的分支 – prusswan

+1

我相信OP(@oroscioli)在询问您是否可以使用属于来自不同分支的提交的更改。答案是,你可以。请参阅樱桃挑选命令。我发现有必要记住,在一天结束时,分支机构可以方便地组织一系列提交(即,它们不一定会将您锁定在开发流中)。 – miqid

相关问题