Mon référentiel ressemble à ceci.Comment importer une nouvelle version d'un projet dans mon dépôt git?
v1 - A - B - C ...
où le commettras v1
représente le contenu de upstream-project-foo-0.9.8.tar.gz
et les commits A, B ... sont mes modifications.
Le but est de mettre à jour ma copie de upstream-project
et d'y porter les commits A, B, C ....
Comment obtenir une nouvelle version de l'archive tar upstream-project
dans mon dépôt git en tant qu'autre branche? Ou devrais-je envisager de faire un deuxième dépôt git?
Vous devez probablement 'git rm -r .' avant d'extraire l'archive tar (de sorte que les noms de chemin existant dans * v1 * commit mais qui ne sont pas présents dans la nouvelle archive (fichiers supprimés/renommés) ne persistent pas dans le * en amont * branche). –
@Chris ma compréhension est que ajouter -A couvre que par ce poste: http://stackoverflow.com/questions/572549/difference-of-git-add-a-and-git-add –
Image deux tarballs: 'oldversion .tar.gz' a les fichiers 'a', et' b'; 'newversion.tar.gz' a les fichiers' a', et 'c' (non' b'). Si vous venez de déballer "new" sur "old", vous aurez à la fois 'b' et' c'. Vous devez nettoyer tout ce qui est "ancien", mais pas "neuf". Le plus simple est de supprimer tout ce qui était dans "old", puis de décompresser (et d'ajouter, via '-A') tout ce qui vient avec" new ". 'git add -A' enlèvera de l'index les noms de chemins qui n'existent pas dans l'arbre de travail, mais il ne peut pas identifier les noms de chemins qui étaient dans" old "mais pas dans" new "si vous déballez le dernier par dessus. –