【发布时间】:2024-01-06 11:03:02
【问题描述】:
我使用以下命令创建了一个测试存储库
mkdir test-repo
cd test-repo/
git init
我在目录中创建了一个文件并提交了更改
echo 0 > file.txt
git add file.txt
git commit -m '0'
我为开发创建了一个新分支
git checkout -b A
现在在分支 A 中更改了文件,在下一行添加了 '1'
file.txt
0
1
致力于分支A
git add file.txt
git commit -m '1'
在“A”中添加了一个空的新文件 file1.txt。然后提交
git add file1.txt
git commit -m 'new file'
现在 reflog 命令显示为
76633b7 (HEAD -> A) HEAD@{0}: commit: new file
070f015 HEAD@{1}: commit: 1
dfab60f (master) HEAD@{2}: checkout: moving from master to A
dfab60f (master) HEAD@{3}: commit (initial): 0
现在我想将分支 A 合并到 master,只提交带有 '76633b7'(最后一个)的提交。我不想要主人的'commit:1'(070f015)。我怎样才能做到这一点?。 git merge A 会将所有更改提交给 master。
【问题讨论】:
-
除了 76633b7 之外,您想要 master 中的所有内容吗?或者您只需要 76633b7 在 master 中。在第二种情况下,来自 master 的“git cherry-pick 76633b7”将起作用。
-
是的,有效...我试过了..
-
我也添加了第二种情况的答案。你可能想看看:)
标签: git github git-branch git-merge