Importez le code source existant dans GitHub


609

Comment puis-je importer le code source de mon ordinateur vers mon compte GitHub?


4
J'ai trouvé plus facile d'utiliser l'interface graphique GitHub, puis de pointer la configuration vers la racine de votre espace de travail et de cliquer sur le bouton "Rechercher des dépôts sur votre disque dur" et cela identifiera tous les dépôts locaux Git dans votre espace de travail et permet de les importer individuellement. Facile.
djangofan

1
@djangofan De quelle GUI github parlez-vous? Avez-vous un lien vers l'interface graphique?
Anderson Green


La réponse de Pete a très bien fonctionné sur OS X - pas besoin d'utiliser une interface graphique.
funroll

Réponses:


969

Si vous avez du code source local que vous souhaitez ajouter à un nouveau référentiel git distant sans `` cloner '' la télécommande d'abord, procédez comme suit (je le fais souvent - vous créez votre référentiel vide distant dans bitbucket / github, puis poussez vers le haut votre source)

  1. Créez le référentiel distant et obtenez l'URL telle que git@github.com:/youruser/somename.gitouhttps://github.com/youruser/somename.git

    Si votre dépôt GIT local est déjà configuré, ignore les étapes 2 et 3


  2. Localement, dans le répertoire racine de votre source, git init

    2a. Si vous initialisez le dépôt avec un .gitignore et un README.md, vous devez faire un git pull {url from step 1}pour vous assurer de ne pas valider les fichiers à la source que vous souhaitez ignorer;)

  3. Localement, ajoutez et validez ce que vous voulez dans votre dépôt initial (pour tout, git add .alors git commit -m 'initial commit comment')


  4. pour attacher votre dépôt à distance avec le nom «origine» (comme le ferait le clonage)
    git remote add origin [URL From Step 1]

  5. Exécutez git pull origin masterpour tirer la branche distante afin qu'elle soit synchronisée.
  6. pour pousser votre branche principale (changez le maître en quelque chose d'autre pour une autre branche):
    git push origin master

92
A travaillé pour moi. J'ai trouvé que je devais courir git pull origin masteravant le git push. Sans cela, j'ai eu l'erreur "car la pointe de votre branche actuelle est derrière" lors de la tentative de poussée. C'est peut-être parce que j'ai créé le référentiel distant avec un fichier Readme.md de démarrage.
yuvilio

5
Obtenez l'URL de dépôt du protocole SSH pour pouvoir valider à l'aide de vos clés privées ssh au lieu de taper un mot de passe.
Snicolas

5
@yuvilio c'est exactement pourquoi. Si vous créez votre dépôt github avec un fichier readme.md, vous êtes en fait maintenant derrière ce que vous essayez de faire de votre origine.

7
Comme l'a dit @Snicolas, si vous utilisez SSH, utilisez git@github.com: youruser / somename.git au lieu de git: //github.com/youruser/somename.git.
tsusanka

5
GitHub explique cette même procédure immédiatement après avoir créé un nouveau référentiel. Comme déjà dit par @yuvilio, vous ne devez pas initialiser votre référentiel avec un README. Au lieu de cela, rendez- touch README.mdvous sur votre repo local existant
Simone

41

Cela est expliqué dans l' excellent eBook ProGit gratuit . Il suppose que vous disposez déjà d'un référentiel Git local et d'un référentiel distant. Pour les connecter, utilisez:

$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin    git://github.com/schacon/ticgit.git
pb    git://github.com/paulboone/ticgit.git

Pour pousser les données du référentiel local vers GitHub, utilisez:

$ git push pb master

Si vous n'avez pas encore configuré de référentiel local et / ou distant, consultez l'aide sur GitHub et les chapitres précédents du livre .


21

L'un des commentaires a mentionné l'utilisation de l'interface graphique GitHub, mais il n'a donné aucune aide spécifique sur l'utilisation et a remarqué que la plupart, sinon toutes les réponses, n'étaient utiles qu'à l'invite de commande.

Si vous souhaitez utiliser l'interface graphique GitHub, vous pouvez suivre ces étapes:

  1. Cliquez sur le bouton "+" et choisissez "Ajouter un référentiel local" Entrez la description de l'image ici
  2. Accédez au répertoire avec votre code existant et cliquez sur le bouton "Ajouter".
  3. Vous devriez maintenant être invité à "Créer un nouveau référentiel Git local ici", cliquez sur le bouton "Oui". Entrez la description de l'image ici
  4. Ajoutez votre "Résumé de validation" et votre "Description étendue" comme vous le souhaitez. Par défaut, tous vos fichiers doivent déjà être sélectionnés avec des coches. Cliquez sur le bouton "Valider et synchroniser". Entrez la description de l'image ici
  5. Vous serez maintenant invité à ajouter le nom et la description de votre projet ainsi que le compte vers lequel le pousser (si vous en avez plusieurs). Cliquez sur le bouton "Push Repository" Entrez la description de l'image ici

Après un moment avec une icône GitHub qui tourne, votre code source appartiendra à un référentiel local et sera poussé / synchronisé avec un référentiel distant sur votre compte GitHub. Tout cela suppose que vous avez déjà configuré l'interface graphique GitHub, votre compte GitHub et les clés SSH.


@cfont Est-ce que cela conserve la longue histoire qui existe déjà dans mon référentiel local, ou cela crée-t-il simplement un énorme commit et j'ai perdu toute mon histoire?
theJollySin

1
@theJollySin, désolé, je dois travailler pour que mes notifications de stackoverflow fonctionnent correctement, je suppose. Cela devrait conserver l'historique de votre référentiel local existant. TBH, je n'ai pas testé cela à l'époque mais je ne peux pas penser à une raison pour laquelle cela écraserait votre histoire locale. En fait, le but devrait être de conserver cela à moins que vous ne vouliez vraiment écraser les commits.
cfont

12

Comme le souligne à juste titre JB, cela est incroyablement facile sur GitHub en suivant simplement les instructions.

Voici un exemple des instructions affichées après la configuration d'un nouveau référentiel sur GitHub en utilisant http://github.com/new lorsque vous êtes connecté.

Global setup:

 Set up Git:
  git config --global user.name "Name"
  git config --global user.email email@gmail.com


Next steps:

  mkdir audioscripts
  cd audioscripts
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Existing Git repository?

  cd existing_git_repo
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Importing a Subversion repository?

  Check out the guide for step-by-step instructions.

Rien de plus simple !!



8

J'ai eu un peu de mal à fusionner en essayant de suivre les étapes de Pete. Ce sont les étapes avec lesquelles je me suis retrouvé.

  1. Utilisez votre système d'exploitation pour supprimer le .gitdossier à l'intérieur du dossier de projet que vous souhaitez valider. Cela vous donnera une table rase pour travailler avec. C'est aussi le bon moment pour créer un .gitignorefichier dans le dossier du projet. Il peut s'agir d'une copie de la .gitignorecréation lorsque vous avez créé le référentiel sur github.com. Cette copie évitera de la supprimer lors de la mise à jour du référentiel github.com.

  2. Ouvrez Git Bash et accédez au dossier dont vous venez de supprimer le .gitdossier.

  3. Courez git init. Cela crée un référentiel local dans le dossier dans lequel vous vous trouvez.

  4. Courez git remote add [alias] https://github.com/[gitUserName]/[RepoName].git. [alias] peut être tout ce que vous voulez. [Alias] est censé être lié au référentiel local, donc le nom de la machine fonctionne bien pour un [alias]. L'URL peut être trouvée sur github.com, en haut, assurez-vous que le bouton HTTP hors HTTP | SSH | Git en lecture seule est cliqué. L' git://URL ne fonctionnait pas pour moi.

  5. Courez git pull [alias] master. Cela mettra à jour votre référentiel local et évitera certains conflits de fusion.

  6. Courir git add .

  7. Courir git commit -m 'first code commit'

  8. Courir git push [alias] master


1
-1 Cela fait un tout petit peu plus que "importer du code existant dans github". il supprime tout l'historique du référentiel!
Michael Durrant

6
  1. Ouvrez votre tableau de bord GitHub (c'est à https://github.com/ si vous êtes connecté)
  2. Cliquez sur Nouveau référentiel
  3. Remplir les espaces vides; cliquez sur Créer un référentiel
  4. Suivez les instructions sur la page qui apparaît ensuite

6

De Bitbucket:

Relevez un référentiel existant. Vous disposez déjà d'un référentiel Git sur votre ordinateur. Poussons-le jusqu'à Bitbucket:

cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/javacat/geo.git
git push -u origin --all   # To push up the repo for the first time

1
fyi, -u est identique à --set-upstream.
AnneTheAgile

4

Je suis venu ici à la recherche d'un moyen simple d'ajouter des fichiers source existants à un référentiel GitHub. J'ai vu la réponse extrêmement complète de @ Pete et j'ai pensé "Quoi?! Il doit y avoir un moyen plus simple."

Voici cette manière plus simple en cinq étapes (aucune action de console requise!)

Si vous êtes vraiment pressé, vous pouvez simplement lire l'étape 3. Les autres ne sont là que pour être complet.

  1. Créez un référentiel sur le site Web de GitHub. (Je n'insulterai pas votre intelligence en vous guidant pas à pas.)
  2. Clonez le nouveau référentiel localement. (Vous pouvez le faire via le site Web ou via un logiciel client de bureau.)
  3. Trouvez le référentiel nouvellement cloné sur votre disque dur et ajoutez des fichiers comme vous le feriez dans un répertoire normal.
  4. Synchronisez les modifications sur GitHub.
  5. C'est ça!

Terminé!


4

Ajoutez un référentiel GitHub comme origine distante (remplacez [] par votre URL):

git remote add origin [git@github.com:...]

Basculez vers votre branche principale et copiez-la pour développer une branche:

git checkout master
git checkout -b develop

Poussez votre branche develop vers la branche develop de GitHub ( -fsignifie forcer):

git push -f origin develop:develop

3

En fait, si vous optez pour la création d'un référentiel vide sur GitHub, il vous donne des instructions précises que vous pouvez presque copier et coller dans votre terminal qui sont (à ce stade):

…or create a new repository on the command line

echo "# ..." >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:<user>/<repo>.git
git push -u origin master

2

Voici quelques instructions sur la façon de lancer un référentiel GitHub, puis de pousser le code que vous y avez déjà créé. Le premier ensemble d'instructions provient directement de GitHub.

Source: https://help.github.com/articles/create-a-repo/

  1. Dans le coin supérieur droit de n'importe quelle page, cliquez sur, puis sur Nouveau référentiel .

  2. Créez un nom court et mémorable pour votre référentiel. Par exemple, "bonjour-monde".

  3. Facultativement, ajoutez une description de votre référentiel. Par exemple, «Mon premier référentiel sur GitHub».

  4. Choisissez entre la création d'un référentiel public ou privé.

  5. Initialisez ce référentiel avec un fichier README.

  6. Créez un référentiel.

Toutes nos félicitations! Vous avez réussi à créer votre premier référentiel et à l'initialiser avec un fichier README.

Maintenant, après ces étapes, vous souhaiterez pousser le code sur votre ordinateur local jusqu'au référentiel que vous venez de créer et procédez comme suit:

  1. git init (dans le dossier racine où se trouve votre code)

  2. git add -A (cela ajoutera tous les fichiers et dossiers de votre répertoire à valider)

  3. git commit -am "First Project commit"

  4. git remote add origin git@github.com:YourGithubName/your-repo-name.git (vous trouverez cette adresse sur le référentiel GitHub que vous venez de créer sous "URL du clone ssh" sur la page principale)

  5. git push -u origin master

C'est ça. Votre code sera maintenant poussé vers GitHub. Maintenant, chaque fois que vous voulez continuer à pousser du code qui a changé, faites-le.

  1. git commit -m "New changes"

  2. git push origin master (si master est la branche sur laquelle vous travaillez)


1

Solution pour moi:

Le problème est la taille d'un fichier, qui ne peut pas dépasser 100M.

Avant de migrer vers github, dans le référentiel, procédez comme suit:

git clone --mirror git://example.com/some-big-repo.git

wget http://repo1.maven.org/maven2/com/madgag/bfg/1.12.12/bfg-1.12.12.jar

mv bfg-1.12.12.jar bfg.jar

java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git

cd some-big-repo.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git push

Prêt!

Maintenant, refaites la migration par l'outil: https://github.com/new/import

voir plus: Erreur lors de la poussée vers github repo et https://rtyley.github.io/bfg-repo-cleaner/

J'espère que je t'ai aidé. :)


0

Créez votre référentiel dans git hub

Permet de suivre votre projet par GIT

  1. en utilisant CMD, allez dans le dossier où votre fichier de projet est conservé -> cd / automation / xyz / codebase vérifier l'initialisation de git avec la commande git status Si vous obtenez ce message d'erreur: fatal: Pas un référentiel git (ou l'un des répertoires parents): .git, cela signifie que le dossier dans lequel vous vous trouvez actuellement n'est pas suivi par git. Dans ce cas, initialisez git dans votre dossier de projet en tapant git init, puis en suivant le processus d'ajout et de validation de votre projet.

Si vous obtenez un autre message d'erreur, lisez attentivement ce qu'il dit. Est-ce que git n'est pas installé sur votre ordinateur en disant que le mot 'git' n'est pas reconnu? Cela signifie-t-il que vous êtes déjà dans un dossier ou sous-dossier où git est initialisé? Google votre erreur et / ou sortie pour le comprendre et pour trouver comment le corriger.

maintenant exécuter la commande suivante

#

echo "votre nom de référentiel git hub" >> README.md git init git add README.md git commit -m "first commit" git remote add origin https: // #

au-dessus du bloc, vous obtiendrez la première fois que vous ouvrirez votre référentiel

Si une erreur se produit ou que rien ne se passe après la dernière commande, exécutez "git push -u origin master" ne vous inquiétez pas

aller dans le dossier où le code est disponible et par extension git le pousser vers git [URL], branche

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.