Question Comment convertir un répertoire non vide existant en un répertoire de travail Git et transférer des fichiers vers un référentiel distant


  1. J'ai un répertoire non vide (par exemple / etc / something) avec des fichiers qui ne peuvent pas être renommés, déplacés ou supprimés.

  2. Je veux vérifier ce répertoire dans git en place.

  3. Je veux être capable de pousser l'état de ce dépôt vers un dépôt distant (sur une autre machine) en utilisant "git push" ou quelque chose de similaire.

C'est trivial en utilisant Subversion (actuellement nous le faisons en utilisant Subversion) en utilisant:

svn mkdir <url> -m <msg>
cd <localdir>
svn co <url> .
svn add <files etc>
svn commit -m <msg>

Quel est l'équivalent git?

Puis-je "git clone" dans un répertoire vide et simplement déplacer le répertoire .git et tout fonctionne?


553
2017-07-22 17:48


origine


Réponses:


Étant donné que vous avez configuré un démon git sur <url> et un dépôt vide:

cd <localdir>
git init
git add .
git commit -m 'message'
git remote add origin <url>
git push -u origin master

895
2017-07-22 17:53



Voici ma solution:

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

18
2018-05-07 08:41



C'est comme ça que je fais. J'ai ajouté des explications pour comprendre ce qui se passe.

Initialiser le référentiel local

  • d'abord initialiser Git avec

    git init

  • Ajouter tous les fichiers pour le contrôle de version avec

    git ajouter.

  • Créez un commit avec le message de votre choix

    git commit -m 'AddingBaseCode'

    Initialiser le référentiel distant

  • Créez un projet sur Github et copiez l'URL de votre projet et copiez l'URL du projet.

    enter image description here

    Lien Repo à distance avec repo local

  • Maintenant, utilisez l'URL copiée pour lier votre dépôt local avec le repo GitHub à distance. Lorsque vous clonez un référentiel avec git clone, il crée automatiquement une connexion distante appelée origine pointant vers le dépôt cloné. La commande remote est utilisée pour gérer l'ensemble des dépôts suivis.

    git remote ajouter l'origine https://github.com/hiteshsahu/Hassium-Word.git

    Synchroniser

  • Maintenant, nous devons fusionner le code local avec le code distant. Cette étape est critique sinon nous serons en mesure de pousser le code sur Github. Vous devez appeler 'git pull' avant de pousser votre code.

    git pull maître d'origine --allow-unrelated-histoires

    Validez votre code

  • Enfin, appuyez sur tous les changements sur Github

    git push -u maître d'origine


18
2017-10-29 13:10



Dans le cas où le référentiel distant n'est pas vide (c'est le cas si vous utilisez IBM DevOps sur hub.jazz.net), vous devez utiliser la séquence suivante:

cd <localDir>
git init
git add -A .
git pull <url> master
git commit -m "message"
git remote add origin <url>
git push

EDIT 30 janvier 17: S'il vous plaît voir les commentaires ci-dessous, assurez-vous que vous êtes sur le bon repo!


11
2018-04-21 10:33



Quand un référentiel github n'est pas vide, comme .gitignore et license

Utilisation pull --allow-related-histoires sans rapport et pousser - forcer-avec-bail

Utiliser les commandes

git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/...
git pull origin master --allow-unrelated-histories
git push --force-with-lease

2
2018-04-05 19:52