gitstream – 如何暂停一个function的开发工作在另一个function上
我是Git和Gitstream的新手。 我已经阅读了所有的各种页面,博客和stackoverflow的问题,并已在我的日常开发中使用它。
但有一个问题一直困扰着我,我无法把头围住。 我知道function分支应该是小的,你开始一个function,编码的一部分,然后完成function。 这是每天发生的事情,我明白了。 我们只是确保我们的开发分支总是可以build立的。
但是,当我处于某个function的中间时,会发生什么情况呢?还没有准备好完成,但是工作的优先顺序会改变吗? 我希望能够切换到另一个function。
例如,我开始一个新function。
$ git flow feature start yak-Speedup
我写代码,提交文件等等,并且正在取得很好的进展。 但现在我需要改变我的工作,主要是因为我需要一个不可用的资源,服务器编码器将不会准备好一两天。 我无法完成该function,因为它会打破开发分支。
我想要做这样的事情:
$ git flow feature pause yak-Speedup $ git flow feature start alpaca-Sheering #write code $ git flow feature finish alpaca-Sheering $ git flow feature resume yak-Speedup
事实上,“git flow feature list”命令的存在意味着我可以同时拥有多个function。 但是我不明白如何创build或切换function。 的确,我开始认为这不是一个混帐问题,而是一个混帐问题。
我感谢任何帮助。 谢谢!
你不需要git flow feature pause yak-Speedup
命令( feature pause
不存在)。 你要使用的命令来代替git flow feature resume yak-Speedup
是git flow feature checkout yak-Speedup
; 这会让你回到yak-Speedup
特征分支继续发展。
执行git flow
显示:
Try 'git flow <subcommand> help' for details.
执行git flow feature help
会显示:
usage: git flow feature [list] [-v] git flow feature start [-F] <name> [<base>] git flow feature finish [-rFk] <name|nameprefix> git flow feature publish <name> git flow feature track <name> git flow feature diff [<name|nameprefix>] git flow feature rebase [-i] [<name|nameprefix>] git flow feature checkout [<name|nameprefix>] git flow feature pull <remote> [<name>]
晚会,但我的经验是这样的..我使用git结合gitstream..
git flow feature start foo <<== start #code, hack and COMMIT git checkout develop <<== go back to develop branch.. git flow feature start foo2 <<== start a new feature #code, hack and COMMIT git checkout feature/foo <<== go back to foo. NB: using full branch name
通过回去发展我确保我独立于foo分支和使用开发只。 如果当时还有其他function的提交,我也可以进行任何合并。
你想要的是真正的分支:
git branch feature1 <startingpoint> git checkout feature1 # hack hack hack, commit commit commit git branch feature2 <startingpoint> git checkout feature2 # hack hack hack, commit commit commit # Oops, urgent request comming in, must switch to stable and patch git stash git checkout stable # patch, commit, push # back to feature2 git checkout feature2 git stash pop
等分行是为此而制作的。
一旦你知道你的function是好的,合并到开发和推。
使用更明确的模型。 这是gitstream改进没有额外的命令:
https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR
这里重要的是你不会从feature1开始feature2。
希望这可以帮助。
UPDATE
我已经写了这个。 希望它更清楚一点: