Question

Je suis fan de l'utilisation Github comme mon référentiel de fichiers de projet. Mais cela m'intéresse davantage si je suis capable de créer un référentiel sur cet ordinateur sur un chemin de répertoire différent. Ensuite, clone qui crée un référentiel sur mon nouveau répertoire de travail.

J'avais l'intention de faire un Github localement. J'ai cherché à ce sujet et beaucoup reviennent que je devrais utiliser gitolite Et bien d'autres à la place. Le problème que j'utilise Windows et je veux faire toutes les étapes en utilisant la ligne de commande.

Quelles lignes de commande dois-je entrer pour créer un référentiel sur un répertoire différent autre que le répertoire de travail et pouvoir cloner ce référentiel vers d'autres terminaux du réseau local.


Liant le terminal à l'hôte Windows

J'ai créé un répertoire de référentiel trajet Users\username\GIT\project.git. J'essaie de lier mon terminal en utilisant la ligne de commande git clone file://{IPv4 server address}/Users/username/GIT/project.git Retour

fatal: '/{IPv4 server address}/Users/username/GIT/project.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

Comment puis-je résoudre ça? Mon hôte s'exécute sur Windows 7 et mon (s) borne (s) de connexion utilisera Ubuntu 12.04 LTS et MacOS Mavericks.


Mettre à jour la piste

  1. Mis à jour mon corps de question. Je ne sais pas quelles étapes devrais-je suivre.
  2. Inséré Liant le terminal à l'hôte Windows Question pour le partage du référentiel sur le réseau local.
Était-ce utile?

La solution

Peut-être que vous demandez un moyen simple de créer un repo git et un clone local?

  1. Créer un repo git en utilisant git init --bare
  2. Clone d'un autre endroit en utilisant git clone --local /path/your/local/repo/

Pour le réseau local, le partage Windows ou un autre partage de fichiers peuvent fonctionner.

Mais, la simple façon de fonctionner, pas le meilleur ou le moyen approprié. Il n'y a pas de demande de trace de traction, de piste de problème, de privilège de privilège sur github. Pour gérer Git Commit ou tout autre travail compliqué, vous avez besoin d'un système de gestion, tel que Gitolite, Gerrit, certains peuvent ne pas fonctionner sur le système Windows.

Si vous n'avez besoin que d'un dépôt privé gratuit, vous utilisez Bitbucket.

Clone de Windows Partage:

git clone file:////{IPv4 server address}/share_name/path_to_your_.git_dir

Sur l'ordinateur hôte, vous devez partager Repo Dir avec un 'Share_name', par exemple: parent dir of repo.git

Voir:

Autres conseils

Si je lis correctement votre déclaration de problème, vous pouvez simplement cloner un repo Git local dans un autre dossier en utilisant le --local Allumez la commande clone comme celle-ci

git clone --local /git/source_repo/project /home/username/workdir/project

/git/source_repo/project est la copie sûre du dépôt (appelez-le votre personnel GitHub si tu veux).

et

/home/username/workdir/project est votre dossier de travail. Il peut s'agir de n'importe quel dossier où vous voulez faire des engins fréquents

Interrupts expliqués:

--local

Lorsque le référentiel à clone est sur une machine locale, ce drapeau contourne le mécanisme de transport normal de transport «Git Aware» et clones le référentiel en faisant une copie de la tête et tout dans les répertoires d'objets et de références. Les fichiers sous .git / objets / répertoire sont clairsés pour économiser de l'espace lorsque cela est possible.

Si le référentiel est spécifié en tant que chemin local (par exemple, / path / vers / repo), c'est la valeur par défaut, et - local est essentiellement un non-op. Si le référentiel est spécifié comme URL, ce drapeau est ignoré (et nous n'utilisons jamais les optimisations locales). Spécification --No-local remplacera la valeur par défaut lorsque / path / to / repo est donné, en utilisant le transport GIT régulier à la place.

Pour forcer la copie au lieu de Hardlinking (ce qui peut être souhaitable si vous essayez de faire une sauvegarde de votre référentiel), mais évitez toujours le mécanisme de transport habituel de "Git Away", - aucun-hardlinks ne peut être utilisé.

--No-hardlinks

Optimisez le processus de clonage à partir d'un référentiel sur un système de fichiers local en copiant des fichiers sous .Git / Objects.

voir Documentation pour plus de détails

Mise à jour 1:

Pour configurer un serveur GIT sur Windows, vous pouvez essayer ceci commercial (open source) Logiciel appelé Gitstack.

Ressources Gitstack utiles:

  1. Gitstack instructions d'installation
  2. Lien vers le code source de Gitstack sur github

Pour créer un référentiel nu local, la commande est en fait assez simple:

git clone --bare my_project my_project.git
Initialized empty Git repository in /my/projects/my_project.git/

Tant que vous les utilisez localement (par exemple, à partir d'un dispositif de stockage connecté USB ou quelque chose), c'est vraiment tout ce qu'il y a. Vous indiqueriez simplement vos commandes sur ce dépôt, pour le clonage, la poussée, le tirage, etc. Cependant, on pourrait vous demander pourquoi vous voudriez faire une telle chose.

Ces instructions sont pour la configuration d'un serveur, mais j'ai trouvé ces instructions très utiles pour créer également des références locales: http://git-scm.com/book/en/git-on-the-server-getting-git-on-a-server

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top