Dites, j'ai une fourchette de bibliothèque ver. 1.1 sous git. Puis un nouveau tar-ball ver. 1.2 sort. Comment puis-je mettre à jour ma bibliothèque fourchue vers une nouvelle version?Patch fourchu repo avec git
Répondre
Votre question n'est pas géniale, mais je vais vous proposer une solution potentielle.
permet d'assumer la base de code pour la bibliothèque ressemble à ceci:
vendor a -- b
vous fourche à b
qui est la libération 1.1
.
vendor a -- b
\
\
you 1 -- 2 -- 3
Supposons maintenant que le développement se poursuive sur l'arborescence vendor
.
vendor a -- b -- c -- d
\
\
you (master) 1 -- 2 -- 3
et d
devient leur libération 1.2
. Si l'arbre vendor
est dans un repo git et que vous pouvez y accéder, alors un git pull
ou peut-être un git pull --rebase
de l'arbre vendor
devrait faire la plupart des choses dont vous avez besoin, vous devrez peut-être résoudre certains conflits, etc. Cependant, si l'arbre vendor
n'est pas dans git, et le seul accès que vous avez le code source est tarballs de chaque version alors quelque chose de légèrement plus compliqué pourrait être nécessaire.
Je créerais une deuxième branche au point où vous fourchue, en faisant:
$ git checkout -b v1.2 b
Ensuite, vous décompressez v1.2 tarbar dans cette branche et valider les modifications. Vous devriez maintenant avoir quelque chose comme ceci:
vendor a -- b -- c -- d
|\
| \
you (master) | 1 -- 2 -- 3
\
(v1.2 branch) x
Maintenant, que ce soit vous pouvez fusionner les modifications de la branche v1.2 utilisant:
$ git checkout master
$ git merge v1.2
Ou vous pouvez rebasage vos changements au-dessus de v1.2 à l'aide :
$ git rebase v1.2
qui vous donnera:
vendor a -- b -- c -- d
\
\
you (master) x -- d -- 1 -- 2 -- 3
Je ne suis pas un expert, donc je suis sûr que les gens vont commenter si j'ai fait quelques erreurs (s'il vous plaît faire, alors je vais ajouter des corrections).
- 1. comment obtenir toutes les branches de mon repo git fourchu
- 2. Git/Diff Patch explication technique
- 3. Comment puis-je récupérer un repo Git fourchu sans supprimer et re-forker?
- 4. Git problèmes avec repo vide
- 5. Comment appliquer un patch généré avec git format-patch?
- 6. convertir git repo actuel en un compatible avec git-buildpackage
- 7. Git format-patch pour être compatible svn?
- 8. application du patch email avec git
- 9. Ajouter svn repo à git repo existant?
- 10. Cloning git repo
- 11. git hub repo linking
- 12. Comment remplacer git repo?
- 13. Modification de Git Repo
- 14. git initialize remote repo
- 15. Convertir git repo en mercurial repo
- 16. Magasin git repo dans un repo?
- 17. limite de patch de format git?
- 18. Git barebones repo
- 19. Git Repo Problème
- 20. git push remote repo
- 21. Réinitialiser Git Repo
- 22. Configurer git secondaire repo
- 23. Marquage d'un repo git?
- 24. Clonage git repo avec toutes les références
- 25. Liaison de sous-dossiers repo avec git
- 26. Git: comment fusionner avec le repo distant?
- 27. Visionneuse de patch-format Git?
- 28. git format-patch sans validation
- 29. Utiliser git-svn avec un repo existant manquant .git/svn/
- 30. git format-patch inclut tous les fichiers dans repo, je veux juste la dernière validation
Pas besoin d'un git checkout séparé (qui vous donne un si long avertissement): il suffit d'utiliser 'git checkout -b vendor-1.2 b'. –
@Roman Cheplyaka: Merci, mis à jour selon. –
Merci, ça m'a vraiment aidé. La chose la plus utile ici est de commencer par une branche "b", de manière à appliquer d'abord les modifications du fournisseur, puis à appliquer vos modifications au-dessus de la nouvelle version. P.S. Désolé pour la question "n'est pas génial", je voulais juste m'exprimer de la manière la plus générale. – Dziamid