Maison > Questions et réponses > le corps du texte
在公司git服务器上建了一个项目,然后建立一个分支 b1
然后添加了一个github的master
git remote add r1 https://github.com/xx/xx
怎么合并本地分支b1和远程r1分支呢?
补充编辑,原始需求是在一个github活跃的项目上面做二次开发,又要将代码放到公司git上,或者大家有什么好的建议? 谢谢
仅有的幸福2017-05-02 09:46:44
Si vous souhaitez fusionner deux branches, vous devez au moins vous assurer qu'elles ont le même ancêtre. D'après l'affiche originale, elles ont bien le même ancêtre, elles peuvent donc être fusionnées.
Dans ce cas, mon plan est de cloner d'abord le projet dans l'entrepôt github localement à l'aide de la commande git clone
, puis d'utiliser la commande git remote add ...
pour ajouter l'entrepôt sur le serveur git de l'entreprise en tant qu'entrepôt distant, puis de l'utiliser ; git pull
localement Commande pour extraire et fusionner. Bien sûr, après la commande git pull
, ajoutez l'alias url et le nom de la branche distante enfin, si le conflit est résolu et la fusion est terminée. , il peut être poussé vers l'entrepôt distant de l'entreprise.
Je pense qu'il pourrait être plus sûr de fusionner dans un autre référentiel local comme celui-ci. Bien sûr, comme je n'ai jamais réellement rencontré un tel problème, si ma solution ne fonctionne pas, j'espère que l'affiche pourra me donner un retour sur le problème.
PHP中文网2017-05-02 09:46:44
git push
Vous pouvez choisir le serveur distant à utiliser, alors extrayez d'abord la branche de github, résolvez le conflit, puis transmettez-la au maître de la branche de l'entreprise et attendez que les personnes de l'entreprise vérifient la fusion. . Il ne devrait y avoir aucun problème
为情所困2017-05-02 09:46:44
Selon l'interrogateur, r1
n'est en fait pas une succursale, mais une télécommande. Supposons d'abord que vous souhaitiez fusionner la branche locale b1 et la branche principale de r1.
Maintenant que vous avez ajouté r1, il ne vous reste plus qu'à :
Passez d'abord en b1. La commande est git checkout b1
Récupérez le pointeur HEAD de la branche principale r1. La commande est git fetch r1
Appliquer le contenu de la branche principale r1 au local. Vous pouvez utiliser git merge r1/master
ou git rebase r1/master
. Le premier génère des enregistrements historiques non linéaires et le second génère des enregistrements linéaires.
Ensuite, vous le poussez vers la bibliothèque de l'entreprise et vous avez terminé
Au fait : git pull
= git fetch
+ git merge
git pull --rebase
= git fetch
+ git rebase