Git 如何将文件添加到另一个分支?
出于某种原因,我想放弃我的分支A,但我在该分支A中刚刚提交了一些文件。我想将它们添加到分支B。我该怎么做呢?如果您对如何在上面建议的控制台中执行正确的命令感到困惑,那么您有一个懒惰、简单的选择: 1) 从项目目录中复制文件 2) 结帐到您的分行 3) 将复制的文件替换为签出的文件,甚至可以合并它们Git 如何将文件添加到另一个分支?,git,Git,出于某种原因,我想放弃我的分支A,但我在该分支A中刚刚提交了一些文件。我想将它们添加到分支B。我该怎么做呢?如果您对如何在上面建议的控制台中执行正确的命令感到困惑,那么您有一个懒惰、简单的选择: 1) 从项目目录中复制文件 2) 结帐到您的分行 3) 将复制的文件替换为签出的文件,甚至可以合并它们 4) 提交更改git reset HEAD^将向后移动一次提交。即,就在您提交到分支\u A之前。现在使用git checkout branch\u B切换到branch\u B。然后git添加要提交
4) 提交更改
git reset HEAD^
将向后移动一次提交。即,就在您提交到分支\u A
之前。现在使用git checkout branch\u B
切换到branch\u B
。然后git添加
要提交的文件,然后git提交
它们。它们将在分支B上的分支B
开关上:
git checkout branch_B
然后,签出要保留的文件:
git checkout branch_A file1 file2 file3 [...]
最后,提交您的更改
git commit -m "Backport changes from branch A for reasons"
打开分支A:
git checkout branch\u A
,使用git log
并记录您的提交id。然后打开分支B:git checkout branch\u B
并使用git cherry pick your commit id
将提交移动到分支B中。为什么不能使用merge、rebase、,或者cherrypick?我添加了太多垃圾,我不想和这些文件一起添加。因为我使用了'git add-A',我也承诺了。因此,我签出到旧版本并创建一个新分支。我想如果合并,我会花更多的时间。毕竟,我只有4个文件要添加。@Beat Cherry picking的可能副本只适用于更改,而不适用于文件。OP不想保存提交信息,只想保存文件状态,所以樱桃拣选不是最好的方法。这是您应该做的。有很多方法可以将文件从一个分支复制到另一个分支,很多方法都涉及到移动分支指针。提供最具选择性控制的最简单方法是,仅签出您想要保留的文件。不确定我会做什么不同的操作,但我的分支A在bitbucket中显示文件,当我签出分支B并尝试此操作时,它不会提取文件。基本上看不到他们。