2011-08-07 3 views
17

Je ne sais pas si cela est entièrement pris en charge dans Git serait excellent si c'est comme cela pourrait rendre les choses beaucoup plus facile, fondamentalement, j'ai un projet dans le dossier X et quand je reçois à un stade particulier, je veux le pousser vers le dossier Y sur mon ordinateur à nouveau.Envoyer le projet Git au répertoire local

Si cela est possible, ce qui serait encore mieux, c'est si c'est possible avec GitHub pour Mac ou Tower pour Mac.

+0

Y a-t-il une raison pour laquelle une branche ne suffirait pas? Je penserais que vous créeriez une branche, éditeriez, et fusionneriez alors cette branche quand vous êtes cela "l'étape particulière". Je suppose que je suis légèrement confus sur les dossiers séparés sur la même machine avec effectivement le même repo. – rnicholson

+0

Raison pour les dossiers séparés est que je veux séparer les environnements de développement et de test de mon projet. L'autre dossier est également l'endroit où mon serveur Web s'exécute. – Aran

Répondre

20

Il est tout à fait possible - ce que vous voulez sans doute faire est de créer un dépôt git « nu » dans le dossier Y (git init --bare), puis ajouter que l'emplacement du fichier comme une télécommande:

git remote add Y file:///path/to/Y 

Je suppose que GitHub pour Mac ou Tower pour Mac gérerait cela comme n'importe quelle autre télécommande.

+0

c'est beau – minhajul

+0

Il y a une mise en garde. Partout où vous créez un référentiel 'git' doit pouvoir se verrouiller. Cela ne sera pas toujours possible pour les points de montage distants. – cprn

-1

Je suppose que vous voulez pousser à Y afin que vous puissiez avoir un dossier extrait du "bon précédent" change ailleurs. La réponse de @dahlbyk suggère un repo nu. Si vous allez de cette façon, vous pouvez (et probablement devriez) plutôt avoir une branche dans le même repo.

Autre que cela, clone juste le git dans X en Y (non-nu) et soit git pull de Y ou la configuration à distance comme une @dahlbyk de X et pousser à Y. Assurez-vous receive.denyCurrentBranch est défini sur false ou branche différente de la branche que vous poussez est extraite en Y

Questions connexes