pao*_*lim 10 git push cherry-pick git-checkout
我有一个远程存储库(origin/master)中的提交,我想把它放在从该存储库创建的分支(origin/remote_branch)中.
当我结账到那个远程分支
git checkout -b mybranch origin/remote_branch
Run Code Online (Sandbox Code Playgroud)
然后樱桃挑选了我做的承诺
git cherry-pick 9df63616b0428cf6edc4261adb533a1ac516b9a0
Run Code Online (Sandbox Code Playgroud)
当我试图推动时,git说什么都是最新的.
git push
Run Code Online (Sandbox Code Playgroud)
有什么我做错了吗?
Pat*_*otz 24
根据您的Git版本,它可能会尝试使用匹配的名称推送分支,即masterto origin/master和remote_branchto origin/remote_branch.如果您的源存储库没有命名分支,mybranch那么它认为没有任何更新.
要覆盖此缺省值,您可以显式告诉git将哪个分支用作source(mybranch)以及将哪个分支用作远程存储库(remote_branch)上的目标:
git push origin mybranch:remote_branch
Run Code Online (Sandbox Code Playgroud)
有一个配置选项告诉git默认推送到远程跟踪分支:
git config --global push.default tracking
Run Code Online (Sandbox Code Playgroud)
我发现这更直观,我认为这是你正在寻找的行为.检查git config手册页中的push.default选项.另请查看git push手册页中的Examples部分,了解如何覆盖默认行为.