57 votes

Comment envoyer des pull request sur GIT

Nous avons récemment migré vers GIT à partir de SVN. Nous avons mis en place un BARE dépôt sur une machine dans notre réseau LAN et cloné sur d'autres machines. Maintenant, quand quelqu'un ne le change et s'engage, nous voulons qu'il envoie la demande d'extraction de la NUE-repo (en disant ou en envoyant un courriel ou de toute autre manière) après que l'on va aller à travers les changements et tirez sur le dépôt NU (même qu'il fonctionne sur github)

Avons-nous besoin d'installer n'importe quelle interface ou il y a certaines commandes de GIT lui-même.

Merci

77voto

Greg Hewgill Points 356191

Les deux Git (le logiciel) et GitHub (web service) ont un concept appelé "pull request", et, malheureusement, ils ne sont pas exactement la même chose.

Natif Git

Le natif Git request-pull commande a une très courte page de manuel avec la suite de description d'une phrase:

Résume les changements entre les deux s'engage vers la sortie standard, et inclut l'URL donnée dans le générés résumé.

C'est un assez faible niveau de commande qui génère un bref résumé des changements qui est adapté pour l'affichage d'une liste de diffusion. Les autres utilisateurs peuvent utiliser l'URL publié dans ce "pull request" manuellement pull modifications dans leur propre référentiel.

GitHub Pull Requests

Lors de l'utilisation de l' GitHub service web, un Pull Request est un plein de fonctionnalités interactives outil de collaboration. Un pull request sur GitHub. a:

  • une description plus détaillée des changements que juste la personne de commettre des résumés
  • les notifications envoyées automatiquement aux utilisateurs qui ont choisi de regarder le projet
  • une revue en ligne de l'interface où les autres peuvent commenter les modifications proposées
  • discussion commentaires pour l'enregistrement des conversations sur les commits
  • centrale de gestion de tirer les demandes de sorte qu'ils ne seront pas perdus

Il est intéressant de noter que Linus a sa propre opinion sur l'utilité relative de ces deux caractéristiques.

Conclusion

Les deux "pull request" caractéristiques décrites ci-dessus sont semblables dans l'esprit, mais complètement différent dans la mise en œuvre. En particulier, l' git request-pull commande ne peut pas être utilisée pour créer un nouveau Pull Request sur GitHub. Vous avez plusieurs choix si vous voulez soutenir "pull request" type de fonctionnalité:

  • Utiliser GitHub. Ce certainement celle qui a le moins d'effort, mais si votre projet n'est pas public, vous devez payer de l'GitHub pour héberger un repository privé. Certaines personnes pourraient ne pas être à l'aise avec ce choix.
  • Utilisation Gerrit. Gerrit est un open-source serveur de programme, vous pouvez télécharger et qui offre de nombreuses caractéristiques similaires à celles disponibles sur GitHub. Il est particulièrement bien adapté à la collaboration des revues de code.
  • Utiliser git request-pull et une liste de diffusion. L'utilisation de cette méthode nécessite beaucoup plus de discipline à partir de votre ingénieurs, comme il est facile d'égarer ou de malversations liste de diffusion des messages. Il n'y a pas de centre de responsabilité associés à cette méthode.

57voto

Jens Points 1254

Le terme "pull request" est pas un github terme spécifique.

Il y a un git demande-pull de commande, vous pouvez en lire plus à ce sujet ici: http://linux.die.net/man/1/git-request-pull

Pour un peu plus en profondeur des explications et vous faire économiser quelques recherches sur google regarder:

Ce n'est pas une nouvelle fonctionnalité BTW.

EDIT: Cette solution de rechange réponse a été faite avant le initialement accepté de répondre par @Greg Hewgill a été réécrit. Je l'ai posté parce que c'est la réponse que je cherchais, et je pense que ce qui convient à l' question qui demande au sujet de faire des pull requests pour les utilisateurs de ne pas necesarilly utilisation de github (Oui, pas tout le monde à l'aide de git utilise github, à moins pas tout le temps). Maintenant que l'orignal réponse a été réécrit faisant cette différence explicite, je vais quitter cette réponse de la façon dont je posté ça juste pour le record.

10voto

Le "git manière" de le faire, ce serait que tous les développeurs ont leur propre public dépôt nu (lire l'accès à tous, écrire acces pour le développeur lui-même) sur le serveur en tant que leur "origine". Et si vous aimez supplémentaires "tronc" (ou "stable" ou ce que vous voulez l'appeler) nu pensions que certains ou tous les développeurs ont accès en écriture. Les développeurs de miroir de leurs pensions sur leur public de pensions, et tirer à partir d'autres développeurs. De cette façon, vous n'avez pas à vous inquiéter si vous pousser à quelque chose à votre public de pensions de titres qui ne fonctionnent pas encore. (Les développeurs peuvent tirer juste de vous pour un test de la branche et de voir si cela fonctionne.) Lorsque vous avez un stable canonique de la direction générale, vous pouvez le pousser sur le "tronc" repo.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X