我认为它允许将更改从一个分支移动到下一个分支,但这是樱桃选择的目的,如果您没有提交更改,也许您不应该移动它们?
我偶尔会在错误的分支上应用错误的存储,这让我对这个问题感到疑惑.
Ari*_*zis 68
如上所述,如果你想要一个"per-branch stash",你真的想要一个新的分支从现有的分支中分离出去.
此外,除了已经提到的事实,即存储允许您进入正在处理的分支,它还允许您在提交所有内容之前切换分支.这对于通常意义上的樱桃采摘非常有用,就像樱桃采摘你的工作副本一样.
F.ex.,在处理功能分支时,我经常会注意到代码中与该分支无关的小错误或外观缺陷.好吧,我马上解决这些问题.什么时候提交,我有选择地提交相关的更改,但不是修复和化妆品.相反,我存储了那些,这允许我切换到我的小修复稳定分支,然后我可以应用存储并分别提交每个小修复.(根据所讨论的更改,我还会再次存储其中的一些,切换到不同的功能分支,我将应用这些功能.)
这使我可以在工作时深入编程模式,而不用担心我的代码正确的图书馆员.然后,当我精神休息时,我可以回去仔细地将我的变化分类到所有正确的架子上.
如果存储不是全局的,那么这种类型的工作流程将更加困难.
iGb*_*nam 20
从Git 1.6开始,您现在可以使用分页机将分页器应用于分支机构
git stash branch name_of_new_branch
Run Code Online (Sandbox Code Playgroud)
Git将为您创建新分支,并查看它!有关更多信息,请参阅
info git-stash并搜索选项= branch.
我猜你可以移动使用的藏匿处
git stash branch <branch | new_branch> [<stash>]
Run Code Online (Sandbox Code Playgroud)
并查看你的藏匿处列表,使用
git stash list
Run Code Online (Sandbox Code Playgroud)
Pat*_*k_O 17
如果你想要一个在分支上运行的"藏匿"做类似的事情,将你的更改存储在当前分支的新分支上.
git checkout -b new_stash
git commit -a -m "stashed changes"
Run Code Online (Sandbox Code Playgroud)
撤消藏匿
git reset HEAD^
git branch -d new_stash
Run Code Online (Sandbox Code Playgroud)
git stash特别有用,因为你可以将更改提取到一个脏树中,即如果你有未完成的编辑并想要做一个
git pull
Run Code Online (Sandbox Code Playgroud)
你不能,你可以存储你的变化,拉,然后应用存储
git stash
git pull
git stash apply
git stash clear
Run Code Online (Sandbox Code Playgroud)
希望这有帮助!
小智 5
git-stash对我来说非常有用,可以将尚未签入的更改移动到与当前签出的分支不同的分支.
例如 - 我经常发现自己在bug修复分支上进行了简单的更改; 只是发现我正在进行的改变比我猜想的更复杂.Git-stash是将这组更改移动到不同分支的最简单方法.