2017-03-19 2 views
1

J'ai une branche git contenant une barre oblique dans son nom, par ex. my/branch Maintenant, quand je veux voir mes commits locaux (les commits qui ne sont que locales et non poussés à la télécommande) en exécutantAfficher les validations locales lorsque le nom de la branche contient une barre oblique

origine git log/ma/branch..HEAD

git apporte le message d'erreur suivant:

fatale: Argument ambigu « origine/ma/branche ..-- HEAD »: révision inconnue ou le chemin pas dans l'arborescence de travail.

Utilisez '-' pour séparer les chemins de révisions, comme ceci: git [...] - [...] '

Je ne comprends pas tout à fait comment utiliser indice par git. Comment puis-je voir mes commits locaux dans ce cas?

Répondre

1

Cela se produit lorsque my/branch n'existe pas sur origin (pour être précis: si votre copie locale ne connaît pas origin/my/branch).

Appelez git branch -r pour voir si origin/my/branch est connu dans votre dépôt local. Si ce n'est pas le cas, essayez get fetch origin.

Si tout cela n'aide pas à afficher le résultat de git branch -a et git remote.

+0

Bonjour @Jens. On dirait que je cours précisément dans ce cas. La télécommande ou l'origine ne contient pas ma branche, mais est fusionnée avec le maître. Donc, je suppose que git devrait être capable de comparer ma branche avec le maître d'origine et de fournir les commits qui ne sont pas sur l'origine. – superM

0

quand je veux voir mon locale engage

"locale" signifie: pas origin (la référence à la prise en pension à distance) encore.

Un simple git log (sans origin) est assez

git log my/branch 

Pour obtenir seulement les commits que vous ne l'avez pas poussé, assuming you have branched from master:

git log $(git merge-base --fork-point master my/branch) my/branch 

(qui est par défaut le même que git log my/branch..HEAD Pour votre première poussée:

git push -u origin my/branch 
+0

Salut @VonC. Dans ce cas, je reçois tout l'historique des commits, y compris celui que je n'ai pas encore fait. – superM

+0

@superM OK. J'ai mis à jour la réponse pour ne répertorier que les validations non annulées. – VonC

+0

merci pour la mise à jour. J'ai essayé la commande que vous avez suggérée, mais obtenant toujours tout l'historique avec git log $ (git merge-base --fork-point maître ma/branche) ma/branche – superM