Git 切换到分支,保留旧分支,以便稍后返回

Git 切换到分支,保留旧分支,以便稍后返回,git,Git,我正在处理一个功能分支branch1,我的工作还没有完成,而且仍然不稳定,我需要切换回开发分支以创建一个新的分支,branch2,用于新功能。我如何才能“冻结”branch1,因为我正计划重新开始工作。有没有办法不用提交branch1?那正确的名字是什么?Thanx.您可以隐藏更改,但没有理由不提交更改。如果不发布提交,则始终可以重置它并将其从历史记录中删除。使用stash非常方便,但是如果“以后”很长一段时间(30天以上),找到正确的stash可能会令人沮丧(假设您经常隐藏)。提交确实没有什么

我正在处理一个功能分支
branch1
,我的工作还没有完成,而且仍然不稳定,我需要切换回开发分支以创建一个新的分支,
branch2
,用于新功能。我如何才能“冻结”branch1,因为我正计划重新开始工作。有没有办法不用提交
branch1
?那正确的名字是什么?Thanx.

您可以
隐藏更改,但没有理由不提交更改。如果不发布提交,则始终可以重置它并将其从历史记录中删除。使用
stash
非常方便,但是如果“以后”很长一段时间(30天以上),找到正确的stash可能会令人沮丧(假设您经常隐藏)。提交确实没有什么错:

$ git commit -a -m "Temporary changes"
$ git checkout other-branch
$ ... # lots of work, but do not push original-branch
$ git checkout original-branch
$ git reset HEAD~  # Back to where you were with a dirty tree as modified before first commit

您可以
隐藏更改,但没有理由不提交更改。如果不发布提交,则始终可以重置它并将其从历史记录中删除。使用
stash
非常方便,但是如果“以后”很长一段时间(30天以上),找到正确的stash可能会令人沮丧(假设您经常隐藏)。提交确实没有什么错:

$ git commit -a -m "Temporary changes"
$ git checkout other-branch
$ ... # lots of work, but do not push original-branch
$ git checkout original-branch
$ git reset HEAD~  # Back to where you were with a dirty tree as modified before first commit

您将隐藏工作目录的当前状态:

git stash

这会将您的工作副本重置为HEAD状态,并将此后的更改保存在存储库中。

您将保存工作目录的当前状态:

git stash

这会将您的工作副本重置为HEAD状态,并将此后的更改保存到存储库中。

git stash有助于此()


但是,为什么您害怕在本地提交更改?您可以随时在git中编辑旧的提交,甚至将其还原。

git stash有助于此()


但是,为什么您害怕在本地提交更改?您可以随时在git中编辑旧提交,甚至将其还原。一旦使用完
branch2
,简单的
git checkout branch1
会让我了解
branch1
的最后一个状态吗?不是100%正确。您必须应用隐藏:
git checkout branch1;git隐藏应用程序
。我更喜欢使用
commit--amend
reset
(看起来更干净)。哦,好吧,如果你做了一个隐藏,你必须重新应用它;但如果你以前犯过罪,那就不是真的。我以为Malloc是指caseHi Thanx。一旦使用完
branch2
,简单的
git checkout branch1
会让我了解
branch1
的最后一个状态吗?不是100%正确。您必须应用隐藏:
git checkout branch1;git隐藏应用程序
。我更喜欢使用
commit--amend
reset
(看起来更干净)。哦,好吧,如果你做了一个隐藏,你必须重新应用它;但如果你以前犯过罪,那就不是真的。我以为Malloc是说caseHi Thanx谢谢你的回答。提交后,您可能会忘记隐藏。提交后不需要隐藏。事实上,在提交后隐藏是不可行的。嗨,谢谢你的回答。提交后,您可能会忘记隐藏。提交后不需要隐藏。事实上,在提交后隐藏是不可行的。