web-dev-qa-db-fra.com

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

  1. J'ai un répertoire non vide (par exemple,/etc/quelque chose) 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 référentiel vers un référentiel distant (sur une autre machine) en utilisant "git Push" ou quelque chose de similaire.

Ceci est trivial en utilisant Subversion (nous le faisons actuellement 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 que tout fonctionne?

573
HMW

Étant donné que vous avez configuré un démon git sur <url> et un référentiel vide:

cd <localdir>
git init
git add .
git commit -m 'message'
git remote add Origin <url>
git Push -u Origin master
933
abyx

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

Initialize Local Repository

  • d'abord initialiser Git avec

    git init

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

    git add.

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

    git commit -m 'AddingBaseCode'

Initialize Remote Repository

  • Créez un projet sur Github et copiez l'URL de votre projet. comme indiqué ci-dessous: 

     enter image description here

_ {Lien repo distant avec repo local} _

  • Maintenant, utilisez l'URL copiée pour lier votre référentiel local au référentiel GitHub distant. Lorsque vous clonez un référentiel avec git clone, il crée automatiquement une connexion distante appelée Origin pointant vers le référentiel cloné. La commande remote permet de gérer un ensemble de référentiels suivis.

    git remote add Origin https://github.com/hiteshsahu/Hassium-Word.git

Synchroniser

  • Nous devons maintenant fusionner le code local avec le code distant. Cette étape est essentielle sinon nous aurons pu être capable de pousser du code sur Github. _ {Vous devez appeler 'git pull' avant de pousser votre code.

    git pull Origine master --allow-unrelated-histories

_ {Commit your code} _

  • Enfin, appuyez sur toutes les modifications sur Github

    maître git Push -u Origin

30
Hitesh Sahu

Voici ma solution:

git init
git remote add Origin PATH/TO/REPO
git fetch
git checkout -t Origin/master
21
csomakk

Si 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 Jan 17: S'il vous plaît voir les commentaires ci-dessous, assurez-vous que vous êtes sur le bon repo!

13
Romeo Kienzler

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

Utilisez tirez --allow-unrelated-histories et Push --force-with-lease

Utiliser des 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
4

J'avais un problème similaire. J'ai créé un nouveau dépôt, PAS DANS L'ANNUAIRE QUE JE VOULAIS FAIRE UN REPOSITORY . J'ai ensuite copié les fichiers créés dans le répertoire dans lequel je voulais créer un référentiel. Ensuite, ouvrez un référentiel existant en utilisant le répertoire dans lequel je viens de copier les fichiers. 

NOTE: J'ai utilisé github desktop pour créer et ouvrir un référentiel existant.

0
tpage

Le moyen le plus simple de le faire que je trouve utile est le ci-dessous.

Ce n'est peut-être pas la méthode officielle mais cela fonctionne bien.

Supposons que vous avez un projet nommé "XYZ" sur votre PC. Maintenant, vous voulez faire un repo git de ce projet sur github et utiliser ses fonctionnalités.

Étape 1 : allez à "www.github.com"

Étape 2 : créer un référentiel avec un fichier "README.md" (nommez-le comme vous le souhaitez)

Étape 3 : clonez le référentiel sur votre PC.

Étape 4 : Dans le dossier cloné, vous obtiendrez deux choses: le dossier ".git" et un fichier "README.md". Copiez ces deux dans votre dossier de projet "XYZ".

Étape 5 : Supprimer le référentiel cloné.

Étape 6 : ajouter, commettre et pousser tous les fichiers et dossiers de votre projet.

Maintenant, vous pouvez simplement utiliser votre projet "XYZ" en tant que référentiel git.

0
Genius