1

好吧,我一直在为一个项目工作。今天我正在试验特定于 Windowswchar的东西,从早上开始我需要更改很多代码,结果我得到了一个丑陋的烂摊子。我可以清除后者,但现在我需要在最后一次工作提交上做一些主流工作。但我不想放弃这项工作。那么我怎样才能将这项工作保留在某个分支中以备将来使用,并将我的工作区恢复到最后一次提交呢?

4

4 回答 4

2

您可以创建一个新分支并将您的更改提交给它:

git checkout -b topic/ugly-mess
git commit -a -m 'Checkpointing mess.'

然后返回具有最后一次工作提交的主流分支:

git checkout master

如果您希望在上游发布“本地混乱”,请推送分支:

git push origin topic/ugly-mess
于 2012-08-15T17:32:42.287 回答
1

只需创建一个新分支

git branch -b wchar_migration

并将您的更改提交到其中

git commit -am "wchar ..."

然后回到你的工作

git checkout master

如果以后你想包含你在 master 上所做的修改,只需在它的基础上进行 rebase。

git co wchar_migration
git rebase master
于 2012-08-15T17:32:55.060 回答
0

你可能甚至不需要分支。如果您使用git stash, git stashes(存储)当前的“脏”工作区并将您返回到一个干净的工作区。如果需要,您可以apply稍后隐藏更改。

于 2012-08-15T17:32:45.547 回答
0

只要您没有进行任何此类工作,您就可以随时git stash进行实验。

但是您已经将其描述为实验性的,因此另一种选择,可能是更好的选择,是将这项工作保留在它自己的分支中,例如git checkout -b wcharExperiment,将工作提交到这个新分支,然后检查您的主分支。

于 2012-08-15T17:32:54.853 回答