我有一个分支,其中包含对功能A,B,C,D的提交。我大约有40个提交,并且每个提交都按混合顺序排列。 我已经提出了拉取请求,但是我需要将该分支分为与每个功能相关联的提交,分为分支A,分支B等。因此功能A在分支A中提交。
不幸的是,我是git的新手,它仍然使我感到困惑。您如何从单个分支中提取提交并将其放入自己的分支中?
答案 0 :(得分:2)
您可以使用git cherry-pick
为功能A创建新分支,在其上签出并使用:git cherry-pick a_commit_hash
。
对所有提交重复一次
答案 1 :(得分:0)
尝试使用以下语法:
git checkout -b A_branch <SHA-1 hash for commit A>
git push origin A_branch
第一个命令基于A提交创建一个名为A_branch
的新分支。它还会签出该分支。然后,我们将您的新分支推送到远程。只需对四个提交中的每一个重复上述两个命令,就可以完成。
注意:要找出四个提交中每个提交的SHA-1哈希,可以从当前分支的HEAD运行git log
。 SHA-1哈希看起来像这样:
3dk92dk2lvnkls ...
这是某些提交的提交哈希。
编辑:
请注意,这些操作不会影响您的原始分支。创建并推送所需的所有内容后,可以通过以下方式返回到原始分支:
git checkout original_branch