web-dev-qa-db-fra.com

Pourquoi n'est-ce pas un commit et une branche ne peut pas être créée à partir de cela?

J'ai besoin de travailler avec une configuration complexe de référentiels. J'en ai 5:

  1. Un référentiel central distant sur la machine 1.
  2. Mon référentiel local sur mon ordinateur portable (machine 2).
  3. Un référentiel nu sur la machine 3.
  4. Un référentiel sur la machine 3.
  5. Un référentiel sur la machine 4 où nous faisons la révision du code.

Donc, ma compréhension que cela fonctionne de cette façon:

  1. Sur mon ordinateur portable (machine 2), je clone/extrait du référentiel central situé sur la machine 1.
  2. I Poussez le dépôt local vers la machine 3 (en utilisant le référentiel nu comme "intermédiaire").

Maintenant, j'ai fait quelques changements sur la machine 3 et je veux pousser ces changements sur la machine 4. Voici les instructions que je dois suivre:

  1. Sur la machine 3, faites tout le travail dans votre branche de test, validez.
  2. Poussez vers votre dépôt nu sur la machine 3: git Push Origin test-branch
  3. Sur votre ordinateur portable: récupérez les nouveaux commits du repo machine-3: git fetch machine3
  4. Vérifiez votre branche depuis la machine 3: git checkout -b test-branch machine-3/test-branch
  5. Fetch commits de machine-4: git fetch Origin
  6. git rebase Origin/master
  7. git Push Origin HEAD: refs/pour/master

J'ai des problèmes avec l'étape 4. J'obtiens l'erreur suivante:

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

AJOUTÉ

Quand j'exécute

git rev-parse machine3/test-branch

Sur mon ordinateur portable (machine 2), je reçois:

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>...]'
17
Roman

La question est complexe/compliquée, la réponse est simple. Il y avait un décalage entre l'alias et la machine3. L'alias de la télécommande qui a été utilisée n'était pas pour machine3. La machine3 avait un autre alias.

0
Roman

Si vous extrayez une branche d'une balise (comme git checkout -b XXXX v0.1.1) , tu peux essayer git fetch --tags première.

0
ttfreeman