有时我会遇到以下情况: 我正在工作分支(比如主分支),并且在编辑一些文件,但当我需要提交更改时,我意识到我更愿意将其提交到一个新的分支(例如实验性分支)。换句话说,旧分支(主分支)必须保持不变,并且需要创建一个新的分支,它应该看起来像:
.. -- master -- new commit
最简单的方法是什么?
目前,我将代码提交到旧分支,然后创建新分支,最后重置旧分支。但这样做真的很丑陋。
有时我会遇到以下情况: 我正在工作分支(比如主分支),并且在编辑一些文件,但当我需要提交更改时,我意识到我更愿意将其提交到一个新的分支(例如实验性分支)。换句话说,旧分支(主分支)必须保持不变,并且需要创建一个新的分支,它应该看起来像:
.. -- master -- new commit
最简单的方法是什么?
目前,我将代码提交到旧分支,然后创建新分支,最后重置旧分支。但这样做真的很丑陋。
git checkout -b branch # create new branch out of current head
git add <files> # the changes you had done in your working directory will be carried over
git commit -m "message" # commit!
如果您先创建新分支,这样会稍微容易一些:
$ git checkout -b new_branch
$ git commit
git checkout -b new_branch
。 - hammar另一种可能性是您可以继续将它们提交到master
分支,然后从新的HEAD
(例如feature
)中切出另一个分支。完成此操作后,您可以使用git reset
将master重置为提交之前的位置。