gpt4 book ai didi

Git Cherry-Pick

转载 作者:太空狗 更新时间:2023-10-29 13:57:00 27 4
gpt4 key购买 nike

我是 git 的新手,我确实了解 git cherry-pick 的工作原理,但这是我的问题:

最近,我的团队中有人更改了 master 中的目录结构,但没有更改另一个分支中的目录结构。

现在,当我在分支中对我的代码进行更改时,我想将它们( cherry-pick )带入 master。这很好,直到 master 和分支中的目录结构相同。

topDir/some/subdir/file -- master
topDir/some/other/subdir/file -- 分支

文件,其更改将被带入 master 是相同的,但它包含的目录结构不同。当我尝试以通常的方式进行 cherry-pick 时,我得到如下错误:

git checkout 大师git cherry-pick 提交错误:pathspec topDir/some/other/subdir/file 不存在

现在,在这种情况下进行挑选的最佳方法是什么?非常感谢任何指点。


好的。我只是注意到,在相同的情况下,当我进行 cherry-pick 时,git 足够聪明,可以从提交中正确选择一个文件,但无法识别另一个。

使用我在原始帖子中提到的相同示例:在同一个提交中,topDir/一些/subdir/file1,topDir/一些/subdir1/file2。

我转到 master,它有“file1”和“file2”,只是在不同的目录结构中:topDir/src/some/子目录/file1topDir/src/some/subdir1/file2.

现在,如果我进行 cherry-pick,git 足够智能,可以选取 file1 中的更改,即使它处于不同的目录结构中,但不会选取 file2 中的更改。任何指针?如果有人想让我更清楚,我会很乐意。

因此,我为解决该问题所做的工作是选择一个,手动更改一个 git 未拾​​取的,以及“git commit -C 。

最佳答案

乐于提供帮助 :) 如果 master 中的那个是永久方式,我会修复主题分支中的文件结构以匹配 master,提交到分支,*然后 merge 更改成为大师,而不是挑选。如

git checkout branch
mv other/subdir/file subdir/file
git status
// git add and git rm to get the commit proper
git commit -m "fixing file struct"
git checkout master
git merge branch

实际上,这取决于文件的用例是什么,以及您希望在 master 分支中成为什么,这更多是您公司的特定问题,而不是这里任何人都可以回答的技术问题你;)

关于Git Cherry-Pick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9623577/

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