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