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.
Je veux vérifier ce répertoire dans git en place.
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?
É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
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
_ {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
Voici ma solution:
git init
git remote add Origin PATH/TO/REPO
git fetch
git checkout -t Origin/master
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!
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
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.
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.