我想它允许将更改从一个分支移动到下一个分支,但这就是摘樱桃的目的,如果您不提交所做的更改,也许您不应该将其移动?
我有时在错误的分支上应用了错误的存储,这使我对这个问题感到疑惑。
Answers:
如前所述,如果您需要“按分支存储”,那么您确实希望从现有分支派生新分支。
此外,除了已经提到的存储可以允许您进入正在处理的分支的事实之外,它还允许您在提交所有内容之前切换分支。这对通常意义上的摘樱桃很有用,而不是对您的工作副本进行摘樱桃。
例如,在功能分支上工作时,我经常会注意到与该分支无关的小错误或外观上的杂质。好吧,我马上修复这些。当需要提交时间时,我选择性地提交相关更改,而不提交修订和修饰。相反,我将它们存储起来,这使我可以切换到稳定的次要修复程序分支,然后可以在其中应用该存储项并分别提交每个次要修复程序。(根据有问题的更改,我还将再次存储其中的一些内容,以切换到其他功能分支,在其中应用这些功能。)
这使我在工作时可以进入编程模式,而不必担心代码的适当图书馆管理。然后,当我休息时,我可以回去仔细地将我的零钱整理到所有合适的架子上。
如果存储不是全局的,则这种类型的工作流程将更加困难。
As mentioned, if you want a “per-branch stash,” you really want a new branch forking off from the existing branch.
。特别是,我经常在同一程序的两个版本之间切换,并且完整运行make
需要10分钟。能够按分支存储构建的二进制文件非常好。而且我当然不希望二进制文件在日志或分支中。
gitk --all
”不再显示我的第一个藏身处;我以为可能会被破坏。在第二个分支中完成工作之后,我随后弹出该存储库。之后,我更新的“ gitk --all
”再次显示原始存储。
如果您想要从分支运行的“存储”,请执行类似的操作以将您的更改存储在当前分支的新分支上。
git checkout -b new_stash
git commit -a -m "stashed changes"
撤回藏匿处
git reset HEAD^
git branch -d new_stash
git stash尤其有用,因为您可以将更改拉入肮脏的树中,即,如果您有出色的编辑并想要执行
git pull
并且不能,可以存储更改,拉出然后应用存储
git stash
git pull
git stash apply
git stash clear
希望这对您有所帮助!
make
在该分支中运行而产生的一堆二进制文件,该怎么办?(每个分支藏匿会节省时间,下一次你在那支做增量构建,但你肯定不希望二进制文件添加到索引)
git-stash对我来说最有用的是将尚未签入的更改移到与当前签出的分支不同的分支。
例如-我经常发现自己在错误修复分支上进行了简单的更改;只是发现我正在做的更改比我最初猜测的要复杂。Git-stash是将那组更改移到另一个分支的最简单方法。
git stash-here
任何人?