我知道启动新分支的命令是
git checkout -b <mybranch>
但是,假设我在进行我想要提交的新更改之前已经有远见创建了新分支。
但通常情况并非如此。通常,我开始编码,然后可能会或可能不会git add .
然后想要在新分支中提交。我该怎么做?
答案 0 :(得分:2)
做到这一点:
git checkout -b <new_branch>
你会看到的是这样的东西:
git checkout -b new_branch
M <changed_file>
Switched to a new branch 'new_branch'
你没有对Git做任何贡献;使用git add
,您只将文件移动到暂存状态。您仍然可以使用分段工作创建新分支。任何尚未上演的变更都将有机会在新分支上上演。
答案 1 :(得分:1)
继续创建新分支,它实际上将当前分支上的内容“保存”到新分支。
如果您在理想的位置启动新分支,请切换回上一个分支并“撤消”您最近的操作,将第一个分支恢复到您希望的位置。
(如果它只是一些东西 - 命令z,或者可能回到之前的提交,或者从Github上的最后一个版本重新提取。)然后git添加并提交第一个分支,你可以切换回第二个继续工作。
也许不理想,但我已将它用作解决方法。
答案 2 :(得分:1)
这里重要的是:Git分支本身不包含任何文件或修订。分支只是指向某个提交的指针。 当您创建一个新分支时,它会从当前分支指向提交。两者将始终(好,几乎总是)共享共同历史记录,但在创建后可能会分歧。
分支带来一些实用功能:
git commit
时,会创建一个新的提交B,它指向A.而分支现在指向B,即新的最近提交。 / LI>
为了更好地理解它们,我recommend you this course,我自己。 (对我推荐有关SO的教程感到羞耻:)