Question Comment puis-je voir ce que je suis sur le point de pousser avec git?


Y at-il un moyen de voir ce qui serait poussé si je faisais un git push commander?

Ce que je représente, c'est quelque chose comme l'onglet "Fichiers modifiés" de la fonctionnalité "demande de retrait" de Github. Lorsque j'émets une requête de tirage, je peux voir et voir ce qui sera tiré si elles acceptent ma demande de tirage: github example of aggregate changes

La ligne de commande est OK, mais je préfère une sorte d'interface graphique (comme la capture d'écran ci-dessus).


448
2017-09-03 14:51


origine


Réponses:


Pour une liste de fichiers à pousser, lancez:

git diff --stat --cached [remote/branch]

Exemple: 

git diff --stat --cached origin/master

Pour le code diff des fichiers à pousser, lancez:

git diff [remote repo/branch]

Pour voir les chemins de fichiers complets des fichiers qui vont changer, lancez:

git diff --numstat [remote repo/branch]

Si vous souhaitez voir ces différences dans une interface graphique, vous devrez configurer git pour cela. Voir Comment visualiser la sortie 'git diff' avec un programme de diff visuel?.


518
2017-09-03 15:06



Il y a toujours une marche à sec:

git push --dry-run

Il fera tout sauf l'envoi effectif des données.

Si vous voulez une vue plus graphique, vous avez un tas d'options.

Tig et le script gitk fourni avec git affiche à la fois la branche actuelle de votre copie locale et la branche de la télécommande ou de l'origine.

alt text

Donc, tout commits que vous faites après l'origine sont les commits qui seront poussés.

Ouvrir gitk à partir du shell pendant que vous êtes dans la branche que vous voulez pousser en tapant gitk&, puis pour voir la différence entre ce qui se trouve sur la télécommande et ce que vous êtes sur le point de pousser vers la télécommande, sélectionnez votre validation locale non pressée et faites un clic droit sur la télécommande et choisissez "Diff this -> selected": alt text


157
2017-09-03 14:55



Pour lister simplement les commits en attente d'être poussés: (c'est celui dont vous vous souviendrez)

git cherry -v

Montrez les sujets de commit à côté des SHA1.


135
2018-03-04 19:52



Vous voulez probablement courir git difftool origin/master.... cela devrait montrer le diff unifié de ce qui est sur votre branche actuelle qui n'est pas encore sur la branche origin / master et l'afficher dans l'outil de comparaison graphique de votre choix. Pour être le plus à jour, courez git fetch premier.


19
2017-09-16 17:14



Une façon de comparer votre version locale avant de la pousser sur le repo à distance (type de poussée en mode sèche):

Utilisez TortoiseGit:
Faites un clic droit sur le projet du dossier racine> TortoiseGit> Diff avec la version précédente>
pour la version 2, choisissez refs/remotes/origin/master


8
2018-03-21 10:40



Essayer git diff origin/master..master (en admettant que origin/master est votre amont). contrairement à git push --dry-run, cela fonctionne même si vous n'avez pas d'autorisation d'écriture en amont.


5
2018-04-22 15:08



Utilisation git gui, vous pouvez voir une liste de ce qui a changé dans votre engagement réel. Vous pouvez aussi utiliser gitk qui fournit une interface facile pour les reflogs. Il suffit de comparer entre remotes/... et master à voir, ce qui va être poussé. Il fournit une interface similaire à votre capture d'écran.

Les deux programmes sont inclus dans git.


4
2017-09-03 14:56



Si vous utilisez Mac OS X, je vous recommande d'avoir Tower, c'est un programme merveilleux qui a fait de Git un plaisir pour moi. J'ai maintenant plus de temps à retenir les commandes de terminal et il offre une excellente interface graphique pour visualiser, suivre et résoudre les différences de fichiers.

Et non, je ne suis pas affilié avec eux, j'utilise simplement leur logiciel et je l'aime vraiment.

http://www.git-tower.com/


3
2017-07-15 10:46



Pour voir quels fichiers sont modifiés et voir les changements de code réels par rapport à la master branche que vous pourriez utiliser:

git diff --stat --patch origin master

3
2018-06-18 09:35