Tout d'abord, je m'excuse car je suis nouveau sur git, ssh et Xcode. Aussi, je suis plutôt un phobique de la ligne de commande.Xcode 4 git: projet git local 'moving' sur notre serveur distant
Nous avons un serveur en cours d'exécution où les clients se connectent avec l'authentification SSH/pousser le code de/vers. Il fonctionne magnifiquement à partir de Xcode 4 pour les projets existants que j'avais configurés en utilisant la ligne de commande git. C'est très simple de cloner des projets à partir de là en utilisant Xcode 4 et en appuyant sur commits.
Ce que je suis confus au sujet est comment configurer notre serveur comme origine/maître pour les projets locaux git que les développeurs ont créé avec Xcode 4 (avec beaucoup d'histoire checkin). Je vois qu'il ya un dossier caché .git, alors j'ai essayé:
scp -r .git [email protected]: MyProject.git
Puis de Xcode 4, je peux aller de l'avant et cloner de notre serveur parfaitement. Je peux voir l'historique complet des vérifications. Si j'essaie de pousser les changements, je reçois un énorme message d'erreur.
distance: Erreur: refus de mise à jour vérifié sur la branche: refs/heads/maître
à distance: Erreur: Par défaut, la mise à jour de la branche courante dans un référentiel non-nu
à distance: erreur: est refusée, car elle rendra l'index et l'arbre de travail incohérents
remote: erreur: avec ce que vous avez poussé, et nécessitera 'git reset --hard' pour correspondre à
remote: erreur: l'arbre de travail à HEAD.
distance: Erreur: Vous pouvez définir la variable de configuration « receive.denyCurrentBranch » à
à distance: erreur: « ignorer » ou « mettre en garde » dans le dépôt à distance pour permettre de pousser dans
à distance: erreur: sa branche actuelle; Cependant, ce n'est pas recommandée à moins que vous
à distance: erreur: conçu pour mettre à jour son arbre de travail pour correspondre à ce que vous avez poussé dans une
à distance: erreur: autre manière. Erreur:
remote: erreur: pour supprimer ce message et conserver le comportement par défaut, définissez
remote: erreur: la variable de configuration 'receive.denyCurrentBranch' est 'refusée'. [snip]
Je ne sais pas comment procéder correctement sans perdre l'historique précieux de checkin que les développeurs ont déjà sur leurs machines locales. Est-ce que quelqu'un peut souligner l'étape ou le concept fondamental qui me manque?
Merci!
Merci beaucoup. Vous avez réussi. –