服务器上有一个由git控制的文件夹,在其中检出了主分支,并且一堆文件已被修改但尚未提交。有没有办法将更改提交到单独的分支,以便可以返回到干净版本?
即,我想有效地撤消所有这些人员更改,但将它们存储在另一个机会中,因此,如果该人员想要他们的更改,则可以切换到该分支。
(是的,我知道这不是git的工作方式,但这是我的情况!)任何想法都非常感谢。
服务器上有一个由git控制的文件夹,在其中检出了主分支,并且一堆文件已被修改但尚未提交。有没有办法将更改提交到单独的分支,以便可以返回到干净版本?
即,我想有效地撤消所有这些人员更改,但将它们存储在另一个机会中,因此,如果该人员想要他们的更改,则可以切换到该分支。
(是的,我知道这不是git的工作方式,但这是我的情况!)任何想法都非常感谢。
Answers:
首先,按照以下步骤移动到基于当前HEAD的另一个分支:
git checkout -b newbranch
提交所有更改(假设没有新添加的文件,否则为新文件git add
):
git commit -a
返回到master分支:
git checkout master
先前未提交的更改将全部位于newbranch分支上,而master仍将处于没有这些更改的状态。
<newbranch>
。
您可以随时存储更改。
git stash
git checkout -b bravenewmaster
git stash apply
还请记住,如果您提交到“错误的”分支,则始终可以将该分支移回,因为分支只是指向提交的指针。
git checkout -b bravenewmaster
。打字少,不会不必要地触摸所有更改的文件。
git
无论出于什么原因,git checkout -b
当发生变化时都不会让步。否则,为什么要提问?;-)