Comment faire pour fusionner sans version de code dans le dépôt Git?
-
21-12-2019 - |
Question
Si un ami a travaillé sur un tas de code qu'il n'a jamais de version, et est de remettre à moi.Au départ, il m'a donné Une version, même s'il avait une version plus récente B disponible.J'ai mis dans un dépôt git (mot à dire sur Visual Studio Team Services), et a ensuite fait quelques révisions, résultant dans la version C.Maintenant, il a mis en place la version B dans un dépôt git (mot à dire sur Bitbucket).Comment puis-je comparer les versions C et B, et fusionner toutes diff entre (B,A) et (C,A) pour obtenir une version finale D qui a à la fois ses mises à jour et le mien?Gardez à l'esprit, le repos sur Bitbucket et TFS (versions B et C, respectivement) n'ont pas de commune git s'engage, bien que les deux viennent de la même version de base A.
Je peux voir un couple de façons de le faire, pas sûr de la inconvénients de chaque bien:1) Ajouter Bitbucket version B comme en amont de ma version de TFS C, et aller le chercher en amont/maître, puis faire un git diff.2) Copier les fichiers à partir de la version B dans le répertoire qui contient la version C, et puis les valider comme si j'ai changé les fichiers manuellement.3) quelque Chose de complètement différent, comme rebase.
Ma compréhension de git est très basique oui, veuillez l'expliquer comme je suis 5 (enfin, pas vraiment, mais vous savez ce que je veux dire).
Note:C'est ok pour avoir toutes les modifications faites de A à B dans un commit dans la finale des pensions de l'histoire, mais il serait agréable de préserver l'individu s'engage entre A et C.
Aussi, à partir de la version A version B, l'ami n'a pas gardé la structure de répertoire, il s'est déplacé tout le contenu dans un sous-répertoire de la racine.Donc, si la version d'Un fichier a a.txt version B a fichier TRUNK/a.txt.
La solution
Il vous suffit de:
la caisse
A
créer une nouvelle branche à partir de
A
(à partir de "De contrôle de version Git et Team Foundation Build")
copie
B
dans ceajouter et validez:
(à partir de "Créer, Connecter et Publier à l'aide de Visual Studio avec Git")
fusionner la branche dans votre branche principale qui représente
C
- résoudre les conflits: