J’ai pris les mesures suivantes jusqu’à présent:
Maintenant, je ne suis pas prêt à fusionner expérimental en maître. Je souhaite cependant le repousser vers le repo distant car c’est le référentiel que je partage avec quelques collègues. J’aimerais qu’ils voient ce que j’ai fait dans la twig expérimentale. Je viens généralement d’accéder au repo distant via SSH.
Comment partager ma twig locale sur le repo distant, sans affecter la twig principale du repo distant?
Selon la page de manuel de Git Push :
git push origin experimental
Trouvez un ref qui correspond à experimental
dans le référentiel source (le plus probable, il trouverait refs/heads/experimental
), et mettez à jour le même ref (par exemple, refs/heads/experimental
) dans le repository d’origine.
Si experimental
n’existait pas à distance, il serait créé .
C’est la même chose que:
git push origin experimental:refs/heads/experimental
Créez la twig experimental
dans le référentiel d’origine en copiant la twig experimental
actuelle.
Ce formulaire n’est nécessaire que pour créer une nouvelle twig ou une nouvelle balise dans le référentiel distant lorsque le nom local et le nom distant sont différents . sinon, le nom de référence seul fonctionnera.
Ou, comme mentionné dans git tip , vous pouvez configurer un “Remote Remote par défaut”:
Vous pouvez utiliser git config pour assigner une télécommande par défaut à une twig donnée. Cette télécommande par défaut sera utilisée pour pousser cette twig, sauf indication contraire.
Cela est déjà fait pour vous lorsque vous utilisez git clone, vous permettant d’utiliser git push sans aucun argument pour pousser la twig maître locale à mettre à jour la twig principale du référentiel d’origine.
git config branch.
.remote peut être utilisé pour spécifier ceci manuellement.
Jan suggère (pour git> = 1.7.0 ) l’option push -u
(ou push --set-upstream
):
Pour chaque twig à jour ou avec succès, ajoutez une référence en amont (tracking), utilisée par git-pull (1) sans argument et par d’autres commandes.
De cette façon, vous n’avez pas à faire de configuration git.
git push -u origin experimental
Si le nom de votre twig est experimental
et que le nom de la télécommande est origin
, alors il est
git push origin experimental
git push -u
ne fonctionne pas si la twig nouvellement créée ne provient pas du même repository, c’est-à-dire si vous n’avez pas créé la nouvelle twig avec git checkout -b new_branch
, alors cela ne fonctionnera pas.
Par exemple, j’avais cloné deux repositorys différents localement et je devais copier repo2 / branch1 pour repo1 / et ensuite le pousser.
Ce lien m’a aidé à pousser ma twig locale (clonée depuis un autre repository) vers mon repo distant:
Voici la page github faisant autorité pour la gestion à distance de github http://github.com/guides/push-a-branch-to-github . Cela vous aidera à répondre à toutes vos questions.
$ git push --set-upstream origin your_new_branch
après avoir fait quelques commits dans votre:
$ git checkout -b your_new_branch $ git add file $ git commit -m "changed file"
Vous poussez votre twig en spécifiant un amont dans l’un des référentiels de télécommandes comme suit:
$ git push --set-upstream REMOTE YOUR_BRANCH
télécommandes peuvent être vus par
$ git remote -v
généralement, vous aurez une seule origin
distante par défaut. donc vous commanderiez ressemblerait à:
$ git push --set-upstream origin your_new_branch
et toutes les poussées qui en découlent peuvent être faites simplement avec git push
.