Question

J'ai du mal à comprendre certains concepts git / DCVS. Voici ce qui s'est passé:

  1. J'ai créé un projet git et je l'ai importé d'un référentiel SVN
  2. J'ai fait des commits
  3. Comme je voulais expérimenter quelque chose, j'ai créé une branche appelée constantes-update
  4. .
  5. Je suis passé à la branche constantes-update , j'ai déplacé certains fichiers, en ai supprimé d'autres et ajouté de nombreux autres
  6. je me suis engagé dans cette branche
  7. J'essaie maintenant de passer à ma branche principale à l'aide de maître git checkout
  8. J'ai eu cette erreur: erreur: vous avez des modifications locales à 'src / groovy / Constants.groovy'; ne peut pas changer de branche.

D'après ce que je comprends de DCVS, je peux changer de branche à volonté, même si certaines branches contiennent plus ou moins de fichiers que d'autres, à condition que je les valide. J'ai essayé de valider avec git commit -a et de passer à la branche principale, mais j'ai la même erreur.

En note de bas de page, lorsque je commets un git, il me prévient que LF sera remplacé par CRLF et me met également en garde à propos de certains espaces de fuite; après avoir validé, je fais un statut de git et un groupe de fichiers apparaît toujours sous le code #modified ... .

Cela est-il lié à git / Windows ou je ne comprends pas correctement ce qui est censé se passer? Je souhaite simplement passer à ma branche principale sans perdre mes modifications dans l'autre branche.

Était-ce utile?

La solution 3

J'ai résolu le problème piratage de mon crochet de pré-validation (en commentant ces lignes dans .git / hooks / pre-commit avec un # ):

#       if (/\s$/) {
#       bad_line("trailing whitespace", 

J'ai résolu le problème piratage de mon crochet de pré-validation (en commentant ces lignes dans .git / hooks / pre-commit avec un # ):

<*>); # }

Autres conseils

Recherchez git-stash pour changer de branche en présence de modifications non enregistrées dans la branche en cours.

Vous avez raison de penser à la manière dont cela devrait fonctionner.

Cependant, il semble que git ait des problèmes avec les fins de ligne et pense que tous vos fichiers sont modifiés même s’ils ne le sont pas. Je n'utilise pas git sous Windows, mais j'allais suggérer l'option "core.autocrlf". possibilité de faire fonctionner le traitement crlf. Toutefois, l’entrée de blog suivante indique que cela pourrait ne pas être une bonne idée: http://weierophinney.net/matthew/archives/191-git-svn-Tip-dont-use-core.autocrlf.html

Utilisez simplement l'option suivante dans le fichier .gitconfig qui réside dans votre répertoire d'utilisateurs.

[noyau] autocrlf = true

Et cela résoudra le problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top