我正在使用分阶段和未分阶段更改的混合功能分支。高优先级的任务进来,我该怎么做?突发高优先级任务的Git工作流程
看起来git checkout
不会触及分阶段和未分阶段的更改。所以,我应该:
git add -A
git commit -am "must stop working to fix bug!"
git checkout master
git checkout -b "bug_branch"
我正在使用分阶段和未分阶段更改的混合功能分支。高优先级的任务进来,我该怎么做?突发高优先级任务的Git工作流程
看起来git checkout
不会触及分阶段和未分阶段的更改。所以,我应该:
git add -A
git commit -am "must stop working to fix bug!"
git checkout master
git checkout -b "bug_branch"
有关git的绝妙之处在于,它能够为您提供多种实现目标的方式,让您可以将git调整为适合您的工作流程,而不是将自己的工作流调整为git。
有多种方法可以做到这一点,如:
藏匿的更改,然后切换到错误的分支,然后应用藏匿时,你与你的bug修复完成。
本地提交更改,切换到错误分支修正错误,然后修正内容本地提交历史与git rebase -i
提交当前更改到一个新的本地分支,切换到错误的分支,修复bug ,然后将您的更改从本地临时分支合并回您的功能分支。
可以暂时提交您的工作使用git stash save
藏匿,修复错误或做你需要做的任何高优先级的任务,然后用git stash apply
应用藏匿回来继续工作。
的'git的stash'一个特别的优点是,它节省了工作树和索引,并恢复双方,这是如果你关心这个区别的话,这很有用 – 2012-02-26 22:31:31
是你可以做到这一点,或替代那种git commit
,你可以做一个git stash
也:)然后,一旦你与bug修复完成后,你可以通过git stash apply
http://gitready.com/beginner/2009/01/10/stashing-your-changes.html
git stash是你的朋友。假设你是你bug_fix分支
git stash save "must stop working to fix bug!"
git checkout master
.. do some stuff
git commit -am 'foo'
git checkout bug_fix
git stash pop
注意,“git的藏匿处弹出”恢复藏匿的变化,这是你想要的最长时间。如果您想要将更改应用于存储并将其保存在存储中,请使用git stash apply。如果你想你的藏匿适用于多个分支这是有用的:
git checkout branch1
git stash apply
git checkout branch2
git stash apply
git checkout branch3
git stash apply
等
感谢您的多种选择。对于下一个读者来说,这将是很好的例子。 – 2012-02-28 05:02:50