2010-09-10 103 views
2

我正在使用Git开展一个项目。现在,我正在研究分支中的一个功能,并且遇到了一些我需要从别人的分支中看到一些代码来提醒自己他写的函数是如何工作的(当我完成时,这两个分支将会合并)。简单的Git分支交换工作流程

我真的不想立即提交我的更改,并且检查他的分支......然后切换回来。

什么是解决此问题的更好方法?

回答

3

该工作的工具是git-stash。在带有更改文件的Git目录中运行git stash将会冻结您的更改,使工作目录回到HEAD清除状态)的状态。这使您可以签出不同的分支以及许多其他操作。当你完成并返回到这个分支时,运行git stash pop将存储器中的更改弹出回工作目录,让你恢复原来的状态,然后再将变化存储起来。

$ git branch 
* develop-back 
    develop-other 
$ git stash 
$ git checkout develop-other 
$ ... 
$ git co develop-back 
$ git stash pop 

是的,这工作非常好,非常方便。但请记住,您不应该担心在Git中进行更改。事实上,git-stash的确如此:在某处提交更改。在Git中提交意味着保存你的工作,在这种情况下,这正是你想要做的。您可以随时重置混合:

$ git commit -am 'stashing away for a moment' 
$ git co develop-other 
$ ... 
$ git co develop-back 
$ git reset HEAD~ 

此工作流相当于积攒,你可以看到,它需要没有更多的步骤。 git存储只是这个过程的一个“包装器”,具有更人性化的界面。

2

听起来像要使用git stash

首先执行git stash。然后结帐另一个分支。一旦你完成了一看,回到你自己的分支,并使用git stash pop