2017-12-15 8 views
1

Ich habe eine wirklich einfache Git Situation, aber aus irgendeinem Grund bekomme ich das folgende Problem. Nehmen wir folgenden Startpunkt an:Warum divergiert ein Commit, wenn die PR auf GitHub rebasiert wird?

   H 
master (1) - - (2) 

Ich habe meinen Master-Zweig, den ich markieren und an Github schieben möchte. Ich verzweige Master zu rel-0.0.x, ändere die Versionen auf npm 's package.json, commit und tag.

master (1) - - (2) 
rel-0.0.x  \ - - (3) 
         H & v0.0.x 

In Github, sobald die PR überprüft wird, ist es umbasiert immer und fusionierte (ohne weitere Änderungen im Master, so meine Vermutung, dass Fütterungsmaterial ist nicht die Eltern verpflichten ändern). Warum bekomme ich dieses neue Commit (das natürlich nicht mehr markiert ist)? Ich kann in GitHub sehen, dass der Commit-Hash-Code ist anders als der, den ich geschoben habe. Sollte ich anstelle von Rebase fusionieren? Ich mag eine lineare Geschichte, vor allem, wenn es Sinn macht ...

master (1) - - (2) - - (3') <-- this is fetched from github 
rel-0.0.x  \ - - (3) 
         v0.0.x 

ich normalerweise direkt auf Github markieren würde, aber ich will npmversion Werkzeug s‘verwenden, die die Version Bumps, verpflichtet, und Tags automatisch.

+0

Warum wird die PR rebasiert? Das ist der Grund, warum die 3 'erschaffen wurde. – evolutionxbox

+0

Sind Sie sicher, dass zwischen '2' und' 3'' keine zusätzlichen Commits liegen? – ElpieKay

+0

Bei allem Respekt, warum wählen Leute eine Frage, die mit dem ersten Ergebnis einer Google-Suche beantwortet werden könnte? –

Antwort

1

Aus der Dokumentation bei https://help.github.com/articles/about-pull-request-merges/

Das Fütterungsmaterial und fusioniert Verhalten auf GitHub weicht geringfügig von git rebase. Rebase und Merge auf GitHub werden immer die Committer-Informationen aktualisieren und neue Commit-SHAs erstellen, während Git-Rebase außerhalb von GitHub die Committer-Informationen nicht ändert, wenn das Rebase über einem Vorfahren-Commit stattfindet. Weitere Informationen zu Git-Rebase finden Sie im Kapitel "Git-Rebase" des Pro Git-Handbuchs.

Verwandte Themen