2017-10-17 1 views
0

J'ai un dépôt git qui est présent sur Github. J'ai le même référentiel sur un serveur distant avec la même structure de fichier. Les choses se sont passées et sur mon serveur distant, le répertoire .git a été supprimé.Comment commencer à récupérer un dépôt git?

Y a-t-il un moyen de changer mon dépôt sur le serveur distant pour repérer celui sur Github avec le dépôt sur Github comme origin? Après l'avoir fait, je veux que le dépôt sur le serveur distant se comporte exactement comme un clone de celui sur Github.

Je ne peux pas supprimer le référentiel du serveur distant et le refermer à partir de Github.

Répondre

0

Voici comment j'ai pu le faire. Il implique la création d'une branche master temporaire sur le serveur distant, puis le remplacer par origin/master

git init 
git remote add origin <url/to/origin> 
git fetch -a 

À ce stade, vous aurez un tas de fichiers non suivis. Nous allons maintenant faire un commit et créer une branche master sur le serveur distant qui sera différente de celle sur Github.

git add . 

Vous ne voulez probablement pas mettre tous les fichiers dans le commit et les conserver à la place. Utilisez git reset -- </path/to/file/to/unstage> pour désactiver ces fichiers ou répertoires.

git status # Check the files that you're going to commit. 
git commit # Create a temporary master branch for now. 

maintenant renommer la branche principale et créer un autre master qui suit origin/master

git branch -m master temp-master # Rename the just created master 
git branch --track master origin/master # Track origin/master in master 

maintenant supprimer le temp-master

git checkout master 
git branch -d temp-master # You might need to use -D 

Vérifiez que tout est correct

git log 
1

Oui, utiliser sur votre serveur distant:

git remote set-url origin <your github remote url> 
0

vous pouvez faire:

git init 
git remote add origin <remote-url> 
git pull 
  1. Depuis le dossier . git est supprimé, git init initialisera le nouveau git dans le serveur distant
  2. Ajout de origin vous aider à suivre le dépôt local avec celui dans github
  3. Une fois ajouté origin, les modifications sont extraites de github.
+0

depuis que le dossier .git a été supprimé, 'git init' initialiserait le repo git et ensuite la deuxième commande peut être émise pour suivre l'origine – learner

+0

Je n'ai pas compris cela. J'ai compris que le repo à distance qu'il suit pour obtenir son dossier .git supprimé. J'ai enlevé mon commentaire. – lilezek

+0

J'ai mis à jour ma question un peu. Je veux que le repo sur le serveur distant se comporte comme un clone du repo Github. Les commandes de cette réponse vont simplement ajouter un 'remote' avec le nom de l'origine qui pointe vers Github. Comment est-ce que j'entrerais dans les changements et les informations de branche de Github? – Waseem