J’ai créé une twig locale que je veux «pousser» en amont. Il y a une question similaire ici sur Stack Overflow sur la façon de suivre une nouvelle twig distante.
Cependant, mon stream de travail est légèrement différent. Je veux d’abord créer une succursale locale, et je ne la repousserai que lorsque je serai satisfait et que je veux partager ma twig.
MISE À JOUR Avec Git 2.0, il existe une réponse plus simple que j’ai écrite ci-dessous: https://stackoverflow.com/a/27185855/109305
Tout d’abord, vous créez votre succursale localement:
git checkout -b # Create a new branch and check it out
La twig distante est automatiquement créée lorsque vous la poussez vers le serveur distant. Donc, lorsque vous vous sentez prêt, vous pouvez simplement faire:
git push
Où
est généralement l’ origin
, le nom que git donne à la télécommande à partir de laquelle vous avez cloné. Vos collègues pourraient alors retirer cette twig et celle-ci est automatiquement créée localement.
Notez toutefois que formellement, le format est le suivant:
git push :
Mais quand vous en omettez un, cela suppose que les deux noms de twig sont les mêmes. Cela dit, en guise de précaution , ne faites pas l’erreur critique de ne spécifier que :
(avec les deux-points), ou la twig distante sera supprimée!
Pour qu’une git pull
ultérieure sache quoi faire, vous pouvez utiliser à la place:
git push --set-upstream
Comme décrit ci-dessous, l’option --set-upstream
configure une twig en amont:
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.
Tout d’abord, vous devez créer votre succursale localement
git checkout -b your_branch
Après cela, vous pouvez travailler localement dans votre succursale, lorsque vous êtes prêt à partager la twig, appuyez dessus. La commande suivante pousse la twig vers l’origine du référentiel distant et la suit
git push -u origin your_branch
Les coéquipiers peuvent atteindre votre twig en faisant:
git fetch git checkout origin/your_branch
Vous pouvez continuer à travailler dans la twig et pousser quand vous le voulez sans passer d’argument à git push (git push sans argument poussera le maître au maître distant, votre local_branch à votre your_branch, etc …)
git push
Les coéquipiers peuvent aller dans votre twig en faisant des commits, puis pousser explicitement
... work ... git commit ... work ... git commit git push origin HEAD:refs/heads/your_branch
Ou suivre la twig pour éviter les arguments pour pousser
git checkout --track -b your_branch origin/your_branch ... work ... git commit ... work ... git commit git push
A partir de Git 2.0, le comportement est devenu plus simple :
Vous pouvez configurer git avec push.default = current
pour vous simplifier la vie:
J’ai ajouté ceci maintenant je peux juste pousser une nouvelle twig en amont avec
$ git push -u
-u
suivra la twig distante du même nom. Non avec cette configuration, vous devinerez automatiquement la référence à distance à git push. De la documentation git.config :
push.default
Définit l’action que git push doit prendre si aucun refspec n’est explicitement donné.
push.default = current
– pousse la twig actuelle à mettre à jour une twig portant le même nom à la réception. Fonctionne dans les workflows centraux et non centraux.
Pour moi, c’est une bonne simplification de mon stream de travail Git au quotidien. Le paramètre de configuration prend en charge le cas d’utilisation «habituel» où vous ajoutez une twig localement et souhaitez le créer à distance. Aussi, je peux tout aussi facilement créer des twigs locales à partir de télécommandes en faisant simplement git co remote_branch_name
(par opposition à utiliser --set-upstream-to
flag).
Je connais cette question et les réponses acceptées sont plutôt anciennes, mais le comportement a changé de sorte que des options de configuration existent désormais pour simplifier votre stream de travail.
Pour append à votre configuration globale Git, exécutez ceci sur la ligne de commande:
$ git config --global push.default current
Comme indiqué dans les réponses précédentes,
git push :
est suffisant pour pousser une succursale locale.
Vos collègues peuvent extraire toutes les twigs distantes (y compris les nouvelles) avec cette commande:
git remote update
Ensuite, pour apporter des modifications à la twig, le stream habituel:
git checkout -b /
Créez une nouvelle twig localement en fonction de la twig en cours:
git checkout -b newbranch
Engagez les modifications comme vous le feriez normalement. Ensuite, poussez-le en amont:
git push -u origin HEAD
Ceci est un raccourci pour pousser la twig actuelle vers une twig du même nom à l’ origin
et la suivre pour que vous n’ayez pas besoin de spécifier l’ origin HEAD
dans le futur.
Si vous voulez simplement créer une twig distante sans avoir la twig locale, vous pouvez le faire comme ceci:
git push origin HEAD:refs/heads/foo
Il pousse tout ce que votre HEAD à twig foo qui n’existait pas sur la télécommande.
Si vous souhaitez créer une twig à partir de la twig actuelle
git checkout -b {your_local_branch_name}
vous voulez une twig d’une twig distante, vous pouvez essayer
git checkout -b {your_local_branch_name} origin/
Si vous en avez fini avec les modifications, vous pouvez append le fichier.
git add -A or git add
Ensuite, faites un engagement localement
git commit -m 'your commit message'
Lorsque vous voulez pousser à repo à distance
git push -u origin
Tous ensemble seront
git checkout -b bug_fixes
ou Si vous souhaitez créer une twig depuis une twig distante, par exemple développement
git checkout -b bug_fixes origine / développement
Vous pouvez pousser à la twig à repo à distance en
git push -u origin **bug_fixes**
Chaque fois que vous souhaitez mettre à jour votre twig à partir de toute autre twig, dites master .
git pull origin master
.
Vous créez d’abord la twig localement:
git checkout -b your_branch
Et puis pour créer la twig à distance:
git push --set-upstream origin your_branch
Note: Cela fonctionne sur les dernières versions de git:
$ git --version git version 2.3.0
À votre santé!
Créez la twig sur votre machine locale et basculez dans cette twig:
$ git checkout -b [name_of_your_new_branch]
Poussez la twig sur github:
$ git push origin [name_of_your_new_branch]
Lorsque vous souhaitez commettre quelque chose dans votre twig, assurez-vous d’être dans votre agence.
Vous pouvez voir toutes les twigs créées en utilisant:
$ git branch
Qui montrera:
* approval_messages master master_clean
Ajoutez une nouvelle télécommande pour votre twig:
$ git remote add [name_of_your_remote]
Poussez les modifications depuis votre engagement dans votre twig:
$ git push origin [name_of_your_remote]
Mettez à jour votre twig lorsque la twig d’origine du référentiel officiel a été mise à jour:
$ git fetch [name_of_your_remote]
Ensuite, vous devez appliquer pour fusionner les modifications, si votre twig est dérivée du développement, vous devez faire:
$ git merge [name_of_your_remote]/develop
Supprimer une twig sur votre système de fichiers local:
$ git branch -d [name_of_your_new_branch]
Pour forcer la suppression de la twig locale sur votre système de fichiers:
$ git branch -D [name_of_your_new_branch]
Supprimer la twig sur github:
$ git push origin :[name_of_your_new_branch]
Ici toutes les informations
Autre projet existant
La solution la plus facile … Drumm Roll. version git 2.10.1 (Apple Git-78)
1) git checkout -b localBranchNameThatDoesNotExistInRemote 2) Do your changes , and go a git commit 3) git push origin localBranchNameThatDoesNotExistInRemote --force
NB – La twig que vous venez de créer dans votre environnement local et la twig distante non existante sur laquelle vous essayez de pousser doivent porter le même nom .
Maintenant, avec git, vous pouvez simplement taper, quand vous êtes dans la bonne twig
git push --set-upstream origin
et git crée pour vous la twig origine.
Créer une twig locale à partir d’une twig existante (peut être master / develop / any-other-branch).
git checkout -b nom_twig
Poussez ceci à distance
git push -u nom_local nom_twigl local: nom_twigment distant
Ici,
Si nous supprimons les noms de twig locale et distante, elle aura le format
git push -u nom_travail branch_name
Cela poussera la twig locale à distance et avec le même nom que la twig locale branch_name. La twig locale suivra également la twig distante.
Je sais que cette question a bien été répondue, mais je voulais juste énumérer les étapes à suivre pour créer une nouvelle twig “myNewBranch” et pousser à distance (“origine” dans mon cas) et configurer le suivi. Considérez ceci la version “TL; DR” 🙂
# create new branch and checkout that branch git checkout -b myNewBranch # now push branch to remote git push origin myNewBranch # set up the new branch to track remote branch from origin git branch --set-upstream-to=origin/myNewBranch myNewBranch
Je voulais juste append cela alors que:
git checkout -b {branchName}
Crée une nouvelle twig, elle extrait également cette twig / en fait votre twig actuelle. Si, pour une raison quelconque, vous ne voulez que détacher une twig sans en faire votre twig actuelle, vous devez utiliser la commande suivante:
git branch {branchName}
Dans la première commande, “checkout” fait de cette twig votre twig actuelle, et “-b” signifie: cette twig n’existe pas encore, alors faites-le pour moi.
Comment faire à travers l’arbre source
1: Open SourceTree, click on Repository -> Checkout 2 :Click on Create New Branch 3: Select branch where from you want to get code for new branch 4: Give your branch name 5: Push the branch (by click on Push button)
Voici comment vous le faites en éclipse grâce à Egit.
1) Allez dans la vue “Git Repository Exploring” et expliquez le projet git auquel vous voulez créer une twig. Sous Brances -> Local .. sélectionnez la twig pour laquelle vous souhaitez créer la twig (dans mon cas, j’ai sélectionné master .. vous pouvez sélectionner une autre twig si vous le souhaitez) .. alors cliquez avec le bouton droit et cliquez sur l’option Créer une twig. et sélectionnez l’option Commander ce projet, puis cliquez sur le bouton Terminer.
2) Maintenant, dans l’explorateur de projet, sélectionnez le projet. Cliquez avec le bouton droit de la souris sur Team -> Push Branch.
Une nouvelle twig distante sera créée. Vous pouvez donner le nom de la twig à vos collègues pour qu’ils puissent la retirer.
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: