git:创建新的本地分支,没有任何本地未提交的更改

时间:2011-09-21 04:09:07

标签: git

我在本地分支A上并且在没有提交的情况下进行了一些更改(它们没有完成)。然后我想创建一个新的分支B(处理不同的东西)而不引入分支A中的更改。如果我执行'git checkout -b B',分支A中的更改将被带到新分支B.我怎么能避免这个?我想要一个没有分支A变化的全新分支B,我现在不想在A中提交更改,因为它们还没有完成。

谢谢你们!

3 个答案:

答案 0 :(得分:4)

暂时使用git stash将更改存储在A。稍后您可以使用git stash pop将其取回。

您可以列出使用git stash list创建的藏匿处。使用git stash show -p ..查看存储中的更改也很方便。

答案 1 :(得分:3)

您可以在签出新分支之前存储更改。

git stash
git checkout -b B

如果您有一些新的未跟踪文件并且您希望它们也消失,您可以先添加它们(但不要提交):

git add .
git stash
git checkout -b B

稍后您将能够通过

解开它们
git reset HEAD file

答案 2 :(得分:3)

$ git branch
* a
  b
$ git stash
$ git checkout b
$ vim file0 file1
$ git commit -a -m'k done'
$ git checkout a
$ git stash pop