Git bezogen auf Commits in Filialen

325
Anders

Ich habe eine kurze Frage zu Git-Commits und -Zweigen.

Angenommen, ich möchte zwei Festschreibungs-IDn erhalten, die auf zwei Daten basieren.

Ich mache das unten auf der "Master Branch".

git rev-list --since='2015-01-01' --reverse origin/master | head -1 git rev-list --until='2015-06-30' origin/master | head -1 

Wenn ich jetzt den Zweig wechsle, mache ich:

git checkout testing 

Bekomme ich nur Commit-ID'n, die vom Testzweig stammt, oder bekomme ich Commit-ID'n auch von allen anderen Zweigen, einschließlich des Master-Zweigs?

Ein einfaches Ja-Nein tut es, ich möchte sichergehen, dass ich keine Commits vom Master-Zweig bekomme, so dass ich nur Code von Commits im Testzweig bekomme und keinen Code von einem anderen Zweig.

Danke im Voraus.

0

1 Antwort auf die Frage

1
ge0rdi

Aus Dokumentation für git rev-list:

Listet Commits auf, die durch Folgen der übergeordneten Links von den angegebenen Commits aus erreichbar sind, aber Commits, die erreichbar sind, von denjenigen, die mit einem vorangestellten ^ angegeben sind. Die Ausgabe erfolgt standardmäßig in umgekehrter chronologischer Reihenfolge.

Es ist egal, welchen Zweig Sie ausgecheckt haben. Als Parameter des rev-listBefehls müssen Sie Verzweigung (oder Ziel-Commit allgemein) angeben .

Die Antwort auf Ihre Frage ist, dass Sie dieselbe Ausgabe erhalten, auch wenn Sie sich in einem anderen Zweig befinden. Um diese Commits für die testingZweigstelle zu erhalten, müssen Sie Folgendes verwenden:

git rev-list --since='2015-01-01' --reverse testing | head -1 git rev-list --until='2015-06-30' testing | head -1