Warum ist es nicht ein Begehen und eine Verzweigung kann daraus erstellt werden?

Ich muss arbeiten mit einer komplizierten Konfiguration der repositories. Ich habe 5 von Ihnen:

  1. Eine remote-central-repository auf Rechner 1.
  2. Meinem lokalen repository auf meinem notebook (Maschine 2).
  3. Ein bare-repository auf der Maschine 3.
  4. Ein repository auf der Maschine 3.
  5. Ein repository auf Rechner 4, wo wir code-review.

So, in meinem Verständnis, dass es funktioniert auf diese Weise:

  1. Auf meinem laptop (Maschine 2) ich clone /pull aus dem zentralen repository befindet sich auf Maschine 1.
  2. Ich drücke den lokalen repo an der Maschine 3 (mit dem bare-repository als "intermediate").

Nun habe ich einige änderungen an der Maschine 3 und ich wollen, schieben Sie diese änderungen an der Maschine 4. Hier sind die Anweisungen, die ich brauche, um zu Folgen:

  1. Auf Maschine 3 führen Sie alle arbeiten, die in den test-branch, commit.
  2. Push auf Ihre nackten repo auf Rechner 3: git push origin test-branch
  3. Auf Ihrem laptop: fetch commits aus der Maschine-3 repo: git fetch machine3
  4. Wenden Sie sich an Ihre Filiale von Maschine 3: git checkout -b-test-branch-Maschine-3/test-branch
  5. Fetch commits aus der Maschine-4: git fetch origin
  6. git rebase origin/master
  7. git push origin HEAD:refs/for/master

Habe ich Probleme mit Schritt 4. Ich bekomme die folgende Fehlermeldung:

fatal: 'machine3/test-branch' is not a commit and a branch 'test-branch' cannot be created from it

HINZUGEFÜGT

Wenn ich ausführen

git rev-parse machine3/test-branch

Auf meinem laptop (Maschine 2) ich bekomme:

machine3/test-branch
fatal: ambiguous argument 'machine3/test-branch': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
  • Die repo von Maschine 3 ist kahl, was bedeutet, dass es keine arbeiten Baum. git checkout -b test-branch machine-3/test-branch braucht ein funktionierendes Baum, so schlägt es fehl. Außerdem müssen Sie prüfen, ob machine3/test-branch vorhanden ist. mijingo.com/blog/what-is-the-working-tree-in-git
  • Auf der Maschine 3 ich habe 2 repos (eine leer und die andere ist nicht-bare). Ich habe die "test-Filiale" in der nicht-bare-repo auf der Maschine 3.
  • Leider habe ich es verpasst. Was bedeutet git rev-parse machine3/test-branch echo?
  • Was git sollte ich ihn ausführen?
  • In der repo, wo Sie führen Sie Schritt 4.
  • Ich aktualisiert meine Frage mit der Antwort auf deine Frage.
  • Lassen Sie uns weiter, diese Diskussion im chat.

InformationsquelleAutor Roman | 2018-03-15
Schreibe einen Kommentar