为什么不是每个分支独特的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是将这组更改移动到不同分支的最简单的方法。