我有两个远程分支,分支 A 和分支 B。
考虑我签出分支 A、提交并推送的情况。现在,我想将相同的提交推送到分支 B。这两个分支完全不同,所以我不能 user rebase
,可以吗?因为如果我这样做git rebase
了,我会将所有更改从一个分支重新定位到另一个分支,但我只需要一次提交即可。我怎样才能做到这一点?
PS。现在我用一种愚蠢的方式来做:我检查分支 B,从分支 A 中挑选最后一次提交,然后推送到 B(远程)。这样我不喜欢我需要切换到分支 B。
我有两个远程分支,分支 A 和分支 B。
考虑我签出分支 A、提交并推送的情况。现在,我想将相同的提交推送到分支 B。这两个分支完全不同,所以我不能 user rebase
,可以吗?因为如果我这样做git rebase
了,我会将所有更改从一个分支重新定位到另一个分支,但我只需要一次提交即可。我怎样才能做到这一点?
PS。现在我用一种愚蠢的方式来做:我检查分支 B,从分支 A 中挑选最后一次提交,然后推送到 B(远程)。这样我不喜欢我需要切换到分支 B。
这就是git cherry-pick
目的。由于您的分支彼此非常不同,并且您不想这样做,merge
或者rebase
因为它只有一次提交,所以这是一种选择。
如果您的意思是两个不同的存储库,那么我认为您想要的是多个遥控器。
您可以随时添加新的遥控器git add remote abc git@github.com:msh/your_app_name.git
然后您可以使用 git push 将 master 推送到它,例如
git push abc master
通常,对于 github,您使用 'origin' 作为初始遥控器,因此通常使用git push origin master
(通常缩写为git push origin
或只是git push
,但是您可以随意添加其他遥控器并使用 推送给它们git push [repo_name] [branch_name]
。如果您有多个遥控器,您应该始终指定哪个推的时候一个。