我有一个github repo origin
,它有两个分支master
和new
。我有两台工作机器A和B.我首先在B中创建这个仓库,B中的本地分支跟踪master
。然后我创建了一个分支并在A中为new
做了一些提交。
但是,现在我正试图再次推动我的承诺'在B到new
。我该怎么办?或者我哪里错了?
我是git的新手,我确实为自己阅读了一些教程。仍然不知道如何或为什么。请帮忙。
==========这看起来如何========================
-----------(master)--------------->(new)
| |
| |
tracked by B tracked by A
| |
B---->1.some commit A----> 2.brach and some commit
-->3.some commit again
答案 0 :(得分:1)
git checkout new && git cherry-pick master && git push
答案 1 :(得分:1)
如果我理解你想要的是将你的变化从A推到B,在同一个分支中,这是正确的吗?
git没有中央存储库,因此您可以将其直接从A推送到B.
如果您使用某种中央存储库,只需按下它,然后再拉入其他本地计算机。
git push origin new
假设您的中央存储库别名是来源。
您还可以添加工作机器B:
git remote add <new_name> <machine B uri>
new_name 只是一个用于标识其他本地计算机的名称,因此您可以像对原点一样推送它,只需更改名称
git push <new_name> new
如果B中新分支的同时发生任何变化,您将无法直接推送,您需要先进行更改。
如果你想保留history simpler,你可以先修改你的更改:
git pull --rebase <new_name> new
然后推送您的更改
git push <new_name> new
如果有帮助,请告诉我。