如何从Commit创建GIT Stash?

时间:2016-05-05 22:13:31

标签: git github

我想从分支上的提交创建一个新的GIT存储。这甚至可能吗?

3 个答案:

答案 0 :(得分:5)

但为什么呢?如果您有提交,则表示您已将这些更改应用于您的文件。自提交以来,某些文件可能已被更改,但是,如果您尝试获取该提交更改的存储,则存储将是当前文件的 diff 以及这些文件的状态在提交。我想说的是,当你需要时,我无法想到一个案例。

但无论如何,你可以获得提交的更改,创建差异,应用它然后隐藏任何差异。

git diff YOUR-COMMIT^ YOUR-COMMIT > stash.diff
git apply stash.diff
git commit .
git stash

您不必创建临时stash.diff文件。您只需将git diff的输出传送到git apply

答案 1 :(得分:0)

在SourceTree中:

  • 右键单击要隐藏的提交
  • 选择“樱桃精选”
  • 取消选择在成功合并后立即提交的选项
  • 这会将更改应用于您的本地副本
  • 然后可以将它们藏起来

答案 2 :(得分:0)

为什么?就我而言,我的取消请求已取消,我需要将该代码用作另一个分支中另一张票据的起点。

好的,所以我所做的是git cherry-pick -n <your commit hash>

然后git stash push -m "wip or whatever"