我想它允许将更改从一个分支移动到下一个分支,但这就是樱桃采摘的目的,如果您没有提交更改,也许您不应该移动它们?

我有时在错误的分支应用了错误的存储,这让我想知道这个问题。

有帮助吗?

解决方案

如前所述,如果您想要“每个分支存储”,那么您确实需要从现有分支中分叉出一个新分支。

此外,除了已经提到的事实之外,存储允许您拉入您正在处理的分支,它还允许您 转变 在你提交所有内容之前分支。这对于通常意义上的樱桃采摘来说很有用,但对于樱桃采摘来说很有用 你的工作副本.

例如,在处理功能分支时,我经常会注意到代码中与该分支无关的小错误或装饰性杂质。好吧,我马上解决这些问题。当需要做出承诺时,我会选择性地提交相关更改,但不会进行修复和修饰。相反,我将这些隐藏起来,这使我可以切换到我的稳定版次要修复分支,然后我可以在其中应用隐藏并单独提交每个次要修复。(根据相关的更改,我还将再次隐藏其中一些,以切换到不同的功能分支,我在其中应用 那些.)

这使我能够在工作时深入编程模式,而不必担心代码的正确管理。然后,当我精神休息时,我可以回去仔细地将我的更改分类到所有正确的架子上。

如果存储不是全局的,这种类型的工作流程将更难以实现。

其他提示

从 Git 1.6 开始,您现在可以使用以下命令将存储应用到分支

git stash branch name_of_new_branch

Git 将为您创建新分支,然后查看它!有关更多信息,请参阅

  • git 的书

  • info git-stash 并搜索选项=branch.

我猜你可以使用以下方法移动藏品

git stash branch <branch | new_branch> [<stash>]

要查看您的藏品列表,请使用

git stash list

参考

如果您想要一个从分支运行的“存储”,请执行类似的操作以将更改存储在当前分支的新分支上。

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

希望这有帮助!

git-stash 对我来说最有用,可以将尚未签入的更改移至与当前签出的分支不同的分支。

例如 - 我经常发现自己在错误修复分支上进行简单的更改;却发现我正在做的改变比我最初想象的要复杂。Git-stash 是将一组更改移动到不同分支的最简单方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top