gpt4 book ai didi

git - 如何从git stash中进行cherry-pick ?

转载 作者:IT王子 更新时间:2023-10-29 01:19:34 25 4
gpt4 key购买 nike

我想知道是否可以从 stash cherry-pick 。

git stash save "test cherry-pick from stash"

*git cherry-pick stash@{0}* --> Is this possible?

当我尝试以上 exception时,我得到以下 command:
Error:
~/Documents$ git cherry-pick stash@{0}
error: Commit 4590085c1a0d90de897633990f00a14b04405350 is a merge but no -m option was given.
fatal: cherry-pick failed

最佳答案

问题是隐藏由两个或三个提交组成。存储时,修改后的工作树存储在一个提交中,索引存储在一个提交中,并且(如果使用--include-untracked标志)存储在第三次提交中的所有未跟踪文件。

如果您使用gitk --all并进行隐藏,则可以看到此内容。
stash@{0}指向包含工作树的提交。

但是,您可以从该提交中进行选择

git cherry-pick "stash@{0}" -m 1

如图中所示, cherry-pick认为stash是合并文件,因此需要 -m 1参数的原因是stash提交具有多位父级。

我不确定您想通过 cherry-pick 实现什么。一种可能的替代方法是从存储中创建一个分支。在此提交更改,然后将其合并到当前分支。
git stash branch stashchanges
git commit -a -m "changes that were stashed"
git checkout master
git merge stashchanges

关于git - 如何从git stash中进行cherry-pick ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16861982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com