web-dev-qa-db-fra.com

Créer une branche distante sur GitHub

En SVN, j'ai au moins deux façons de créer une branche:

svn cp /home/me/localcheckout/trunk /home/me/localcheckout/branches/newbranch
svn cp http://server/trunk http://server/branches/newbranch

Le premier le crée localement, puis je dois valider toute la branche.
Le second le crée sur le serveur.

L’avantage de la seconde est que je peux changer mon tronc local, apporter quelques modifications à certains fichiers et n’engager que quelques Ko.

Est-il possible d'y parvenir avec Git?
Existe-t-il un moyen de créer une branche distante sur GitHub puis de la transférer vers mon dépôt local?

La raison pour laquelle je pose cette question est que j'essaie de transmettre quelques Ko à une nouvelle branche distante depuis le maître à l'aide de la connexion Internet de mon téléphone, mais lorsque je le souhaite, il souhaite diffuser environ 400 Mo!

Objets d'écriture: 22% (54080/245586), 86,74 Mio | 13 KiB/s

Voir Git - pousser une branche distante pour un grand projet est vraiment lent pour une question similaire.

57
opticyclic

Il semble que github ait une interface utilisateur simple pour créer des branches. J'ai ouvert la liste déroulante des branches et cela m'a amené à "Rechercher ou créer une branche ...". Tapez le nom de votre nouvelle branche, puis cliquez sur le bouton "Créer" qui apparaît.

Pour récupérer votre nouvelle branche depuis github, utilisez le fichier standard git fetch commande.

create branch github ui

Je ne suis pas sûr que cela puisse résoudre votre problème sous-jacent, car les données sous-jacentes transférées vers le serveur (les objets de validation) sont les mêmes, quelle que soit la branche vers laquelle elles sont poussées.

102
Matt McHenry

Git est censé comprendre quels fichiers existent déjà sur le serveur, à moins que vous n'ayez fait une différence énorme dans votre arborescence et que les nouvelles modifications soient envoyées.

Pour créer une nouvelle branche avec une copie de votre état actuel

git checkout -b new_branch #< create a new local branch with a copy of your code
git Push Origin new_branch #< pushes to the server

Pouvez-vous décrire les étapes que vous avez suivies pour comprendre ce qui aurait pu obliger votre référentiel à envoyer autant de choses au serveur.

46
Mohammad AbuShady

Avant de créer une nouvelle branche, la meilleure pratique consiste à disposer de la dernière version du référentiel dans votre ordinateur local. Suivez ces étapes pour créer une branche sans erreur.

 1. $ git branch (check which branches exist and which one is currently active (prefixed with *). This helps you avoid creating duplicate/confusing branch name)
 2. $ git branch <new_branch> (creates new branch)
 3. $ git checkout new_branch
 4. $ git add . (After making changes in the current branch)
 5. $ git commit -m "type commit msg here"
 6. $ git checkout master (switch to master branch so that merging with new_branch can be done)
 7. $ git merge new_branch (starts merging)
 8. $ git Push Origin master (Push to the remote server)

J'ai référé ceci blog et j'ai trouvé que c'était une approche plus propre.

2
w1n5rx