Erreur lors de la transmission des modifications sur GIT. Les noms de référence doivent suivre les règles de format de référence git

9

J'ai une erreur en utilisant git sur Sourcetree. J'ai créé une branche locale appelée sprints / Mycompany_sprint_1 (parce que je la veux dans une catégorie), puis j'ai fait plusieurs choix de cerise sur cette branche à partir d'une autre. Après cela, j'ai essayé de pousser toutes les modifications sur ma branche, mais je reçois la prochaine erreur:

La branche distante '' (branche locale = 'sprints / Mycompany_sprint-1') n'est pas valide. Les noms de référence doivent suivre les règles de format de référence git: https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html Complété avec des erreurs, voir ci-dessus.

Mais si je vais sur le lien, je suis (pour autant que j'ai vu) toutes les règles, car regardez la première règle:

Ils peuvent inclure une barre oblique / pour le regroupement hiérarchique (répertoire), mais aucun composant séparé par une barre oblique ne peut commencer par un point. ou terminer avec la séquence .lock. Je vérifie si le problème pourrait être que la catégorie de ressort existe déjà, mais ce n'est pas le cas.

Quelqu'un peut-il me dire ce que je fais mal, s'il vous plaît? J'ai peur de ne pas voir l'erreur ici ...

Inazense
la source

Réponses:

55

Cela semble être un bogue affectant SourceTree pour Windows version 3.3.4: https://jira.atlassian.com/browse/SRCTREEWIN-12593

Une solution de contournement jusqu'à ce que le bogue soit résolu consiste à décocher et à recocher la case de branchement dans la boîte de dialogue de transmission.

Mark Leong
la source
3
Je suis content de ne pas avoir passé trop de temps à étudier cela avant de le faire!
Greg Woods
fuxk ce bug .. Gaspiller ma vie
Joke Huang
Appelez-le BugTree.
Joke Huang
2
4 ans plus tard et ce n'est toujours pas résolu
Ben Sewards
1

Le problème ne vient pas du nom de votre succursale locale . Le problème vient du nom de la branche que vous avez demandé à l' autre Git d'utiliser.

Voici à nouveau ce message d'erreur, cette fois en police à largeur fixe pour plus de clarté:

The Remote branch '' (Local branch = 'sprints/Mycompany_sprint-1') is invalid.

Supprimez la remarque entre parenthèses, qui est simplement informative:

The Remote branch '' is invalid.

Vous avez - en quelque sorte; cela devrait être impossible: spécifiez un nom de branche distante complètement vide. Ce n'est pas un nom de branche valide. Comment vous l'avez spécifié, je n'en ai aucune idée, mais vous devez arrêter de le faire.

torek
la source
Bon sang, je ne l'ai pas compris au début. Merci pour votre réponse. Le fait est que je ne définis pas un nom vide, j'utilise le même ... je ne suis pas sûr de l'échec. Quoi qu'il en soit, j'ai poussé à travers la console et cela fonctionne correctement
Inazense
Oui, la ligne de commande ne vous permettra pas de fournir un nom de destination vide sans au moins y travailler. Cela ressemble à un bug de l'interface graphique.
torek
1

Au 22 novembre 2019, cela semble enfin être corrigé.

SourceTree 3.3.6 [22 November 2019]
  Changes
    Fixed new branches in the push dialog not setting the remote branch name
    Fixed the create patch screen allowing split view

Source: Notes de version de SourceTree

muetzenflo
la source
J'ai bien peur que ce ne soit pas encore réglé. J'ai testé avec cette version et les plus récentes et elle continue d'apparaître parfois ..
Inazense
0

Je poussais Release_Staging_2.0 vers orgin, j'obtenais la même erreur .. Quand je l'ai renommé en Staging_2.0 dans ma branche locale, cela a fonctionné .. Toujours n'a pas trouvé la raison exacte mais vous pouvez essayer.

saktiprasad swain
la source