Obtenir les twigs existantes de git pour suivre les twigs distantes

Mon travail habituel lorsque je travaille avec git, c’est quelque chose comme ceci:

  1. créer un référentiel local
  2. faire un peu de travail dans ce repository, append / modifier des fichiers, etc.
  3. décide que je veux un emplacement distant central pour le référentiel et en crée un
  4. pousser tous les commits de mon repository local vers ce nouveau référentiel distant

Maintenant, cependant, je veux être capable de push et d’ pull de ce référentiel distant sans avoir à spécifier où je veux aller ou où je tire; Je veux que mon maître local suive le maître distant.

La manière appropriée de le faire n’est pas claire pour moi, et je n’ai pas été en mesure de le déterminer à partir de la documentation, même si cela ne devrait pas être plus d’une commande.

Parce que c’est quelque chose qui n’est jamais fait qu’une fois par référentiel, j’ai généralement utilisé l’une des deux solutions simples mais complexes:

  1. utilisé git clone pour créer un nouveau repository local, et supprimé l’ancien. Après le clonage git, le nouveau référentiel est configuré pour suivre l’origine.
  2. édité manuellement .git / config pour créer l’origine de la piste master.

Je pense que je devrais pouvoir exécuter une commande, probablement une forme quelconque de git remote pour configurer un référentiel existant afin que master maisortingse un maître distant. Quelqu’un peut-il me dire ce qu’est ce commandement?

Utilisez l’argument set-upstream:

 git branch --set-upstream local-branch-name origin/remote-branch-name 

L’exécution de la commande ci-dessus met à jour correctement votre fichier .git / config et vérifie même avec cette sortie:

“Branche nom-twig locale configuré pour suivre le nom de la twig distante de la twig distante depuis l’origine.”

EDIT: Comme Martin dit: “Dans la version Git v1.8.0, –set-upstream est obsolète. Utilisez plutôt –set-upstream-to.”

 git branch --set-upstream-to local-branch-name origin/remote-branch-name 

Voir ceci pour plus d’informations.

git help remote devrait vous montrer ce que vous devez savoir. Je pense que ce que tu veux c’est

 git remote add [remote-name] [remote-url] # Set a local branch to follow the remote git config branch.[branch-name].remote [remote-name] # Set it to automatically merge with a specific remote branch when you pull git config branch.[branch-name].merge [remote-master] 

Vous pouvez également éditer manuellement .git / config pour les configurer.

Vous pouvez également l’utiliser si vous souhaitez créer une nouvelle twig locale pour suivre une twig distante:

 git checkout --track -b [branch_name] --track origin[or other remote name]/[remote_branch_name] 

ou même mieux:

 git checkout -t origin/branch_name 

Sur les nouvelles versions de git, vous pouvez utiliser

 git branch --track origin/branch_name 

The --set-upstream flag is deprecated and will be removed.

git branch master --set-upstream-to myupstream/master