Construire un projet sur le serveur git de l'entreprise, puis créer une branche b1
Puis ajouter un maître github
git remote add r1 https://github.com/xx/xx
Comment fusionner la branche locale b1 et la branche distante r1 ?
Modification supplémentaire, l'exigence initiale est de faire un développement secondaire sur un projet actif sur github, et également de mettre le code sur le git de l'entreprise. Avez-vous de bonnes suggestions ? Merci
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 commandegit 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 commandegit 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.
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èmeSelon 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
ougit 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