我有一个包含多个更改的分支,我想将其内容复制到一个新分支。这个新分支基本上会有相同的内容,可能会少一些。那么,是否可以为新的或另一个分支复制一个脏分支?
答案 0 :(得分:2)
怎么样?
git checkout -b <new-branch>
答案 1 :(得分:2)
我认为你误解了git是如何工作的。每个分支只是指向特定提交的指针。
没有脏分支这样的东西。当你检出分支时,你可能正在考虑这种情况,并且你有一个脏的工作树。 (这意味着您已对工作树进行了更改,但尚未提交)。但分支并不脏。工作树很脏。
唯一方式可以保存 分支上的东西是提交它。如果你不推动分支,只需创建一个临时提交就可以了:
git add -A
git commit -m "tmp commit"
git checkout -b new_branch
git reset HEAD^ #this will reset the branch pointer to the previous commit,
#but keep the work-tree
当你想回到原始分支并恢复肮脏的工作树时:
git checkout original_branch
git reset HEAD^
或者,您可以将更改保存在存储中。这可能是首选解决方案:
git add -A
git stash --keep-index
git checkout -b new_branch
当你想回到原始分支并恢复肮脏的工作树时:
git checkout original_branch
git stash pop