为什么不是每个分支独特的Git存储?
我认为它允许从一个分支移动到另一个分支,但这是樱桃采摘的目的,如果你没有做出你的改变,也许你不应该把它们移动?
我有时在错误的分支上应用了错误的藏匿处,这让我不知道这个问题。
如前所述,如果你想要一个“分行存储”,你真的想要一个新的分支从现有的分支分出。
此外,除了已经提到的事实,即藏匿可以让你拉到你正在工作的一个分支,它还允许你切换分支之前,你已经承诺的一切。 这对通常意义上的樱桃采摘非常有用,例如樱桃采摘您的工作副本 。
F.ex.,在一个特色分支上工作时,我会经常注意到代码中的小错误或者化妆品杂质,与那个分支无关。 那么我马上修好 当时间到了,我有select地提交相关的变化,但不是修复和化妆品。 相反,我把这些东西藏起来,这让我可以切换到我的小修补程序分支,然后我可以分别应用这个存储并提交每个小修补程序。 (根据问题的变化,我也会把它们中的一些藏起来,切换到一个不同的function分支,我在那里应用这些分支。)
这使我可以在工作时深入编程模式,而不必担心我的代码的正确的图书馆pipe理。 然后当我精神崩溃的时候,我可以回去仔细地将我的变化分类到所有正确的货架上。
如果存储不是全球性的,那么这种types的工作stream程将难以做到。
如果你想要一个分支运行的“存储”,就可以做这样的事情,把你的改变存储在当前分支的新分支上。
git checkout -b new_stash git commit -a -m "stashed changes"
取消藏匿
git reset HEAD^ git branch -d new_stash
git藏匿是特别有用的,因为你可以把变化拉到一个脏树,即如果你有未完成的编辑,并希望做一个
git pull
而你不能,你可以隐藏你的改变,然后拉动,然后套用
git stash git pull git stash apply git stash clear
希望这有助于!
从Git 1.6开始,你现在可以使用stash到分支
git stash branch name_of_new_branch
Git会为你创build新的分支,并检查出来! 有关更多信息,请参阅
-
git书
-
info git-stash
和search选项=branch
。
我猜你可以移动使用周围的东西
git stash branch <branch | new_branch> [<stash>]
并看到你的藏品清单,使用
git stash list
参考
git-stash对我来说是非常有用的,可以将尚未签到的更改移动到与当前签出的不同的分支上。
例如 – 我经常发现自己在bug修复分支上做了简单的修改; 只是发现我正在做的改变比我第一次猜测的更复杂。 Git-stash是将这组更改移动到不同分支的最简单的方法。