47 votes

Transférer un dossier local vers un repo git distant

J'ai un dossier avec tous mes fichiers pour un projet. J'ai décidé d'utiliser git sur ce dossier, j'ai donc créé sur Github un repo vide. Habituellement, la procédure consiste à cloner sur mon disque local la version distante, et dans ce cas, cela créera un dossier vide. Mais ce que je veux faire, c'est remplir le repo distant avec le dossier de mon projet sans l'endommager et sans le déplacer. Existe-t-il une procédure pour faire cela ?

77voto

Ahmed Ashour Points 2210

Comme indiqué dans GitHub aider :

  1. Créer un nouveau dépôt sur GitHub.

  2. Ouvrez Git Bash.

  3. Changez le répertoire de travail actuel pour votre projet local.

  4. Initialiser le répertoire local en tant que dépôt Git.

     $ git init
  5. Ajoutez les fichiers dans votre nouveau dépôt local. Cela les met en place pour le premier commit.

     $ git add .
  6. commit les fichiers que vous avez mis en scène dans votre dépôt local.

     $ git commit -m "First commit"
  7. En haut de la page de configuration rapide de votre dépôt GitHub, cliquez pour copier l'URL du dépôt distant.

  8. Dans l'invite de commande, ajoutez l'URL du dépôt distant où votre dépôt local sera poussé.

     $ git remote add origin <remote repository URL>
     # Sets the new remote
     $ git remote -v
     # Verifies the new remote URL
  9. Pousser les modifications de votre dépôt local vers GitHub s'il existe une branche distante appelée master (ou main si c'est ce que vous utilisez)

     $ git push origin master

    Sinon, vous devrez d'abord nommer la branche locale en

     $ git branch -m <new_name>

    puis le pousser pour ajouter une nouvelle branche appelée <nouveau_nom>.

     $ git push origin -u <new_name>

Si vous rencontrez toujours des erreurs telles que "Les mises à jour ont été rejetées parce que la version distante contient du travail que vous n'avez pas localement", c'est normalement parce que la version distante a été récemment créée manuellement. Assurez-vous que vous n'écrasez rien sur la partie distante avant de forcer le transfert du dossier git local en utilisant la commande

$ git push origin -u -f <new_name>

1voto

NinaNeu Points 11

Je pense que Ahmed's La réponse ci-dessus est complète. Mais ma solution est un peu plus courte et moins complexe :

  1. Créer un nouveau repo sur le site GitHub. (Et copiez l'URL vers votre nouveau dépôt).

  2. Allez dans votre dossier local et tapez

    git remote add origin https://github.com/your-new-repo-URL.git

  3. git branch -M main

  4. git push -u origin main

Ce qui se passe ci-dessus, c'est que vous ajoutez tous vos fichiers locaux à la branche Master de votre repo "distant" nouvellement créé sur GitHub.com.

0voto

W.S Points 304

C'est cette séquence qui a été déterminante pour moi :

Sur le dossier local que vous voulez pousser, faites :

git init

Ajouter tous les fichiers (y compris les sous-répertoires) avec :

git add .

commit avec votre message en utilisant -m :

git commit -m "bring on the code"

Les choses sont maintenant réglées dans votre repo git local. Vous devez le lier au repo sur GitHub en utilisant :

git remote add origin https://(the cloning URL).git

L'étape suivante consiste à relier votre branche maîtresse locale à la branche maîtresse distante :

git branch --set-upstream-to=origin/master master

Tirer tous les fichiers dans le repo distant (par exemple, un nouveau repo avec un README.md) avec :

git pull origin master --allow-unrelated-histories

L'option "autoriser les historiques non liés" est nécessaire parce que la branche locale et la branche distante n'ont pas encore d'historique commun.

Désormais, vous pouvez git push et tout est normal :)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X