2017-04-21 6 views
2

Environnement: Win8.1 utilisant Git CMDgit commit accroché fichier 1kb commettras

J'ai essayé de clouer Git squames sur ma machine Windows. Je suis capable de cloner un repo distant dans un nouveau répertoire. Le contenu du repo github a été créé sur mon Mac si cela fait une différence. J'ajoute un fichier texte de 1 Ko au fichier Windows appelé Add_file.txt. Je semble être en mesure d'ajouter le fichier mais ne pas valider le fichier sans git commit suspendu.

Comment puis-je suivre ce qui se passe sous le capot pour comprendre pourquoi je ne suis pas capable de commettre cela? J'ai eu des accrochages répétés en essayant cette procédure. Si je tue ctrl + c à ce stade, il reste un fichier git lock qui empêche toute autre commande git sur local. La suppression du fichier git lock ne résout pas l'impossibilité de commettre git.

Des idées?

C:\Users\mylocaluser\Documents\GitHub>git clone https://github.com/mygitaccount/99_Gitbug.git 
    Cloning into '99_Gitbug'... 
    remote: Counting objects: 11, done. 
    remote: Compressing objects: 100% (7/7), done. 
    remote: Total 11 (delta 1), reused 11 (delta 1), pack-reused 0 
    Unpacking objects: 100% (11/11), done. 

    C:\Users\mylocaluser\Documents\GitHub>cd 99_Gitbug 
    C:\Users\mylocaluser\Documents\GitHub\99_Gitbug>git status 
    On branch master 
    Your branch is up-to-date with 'origin/master'. 
    Untracked files: 
     (use "git add <file>..." to include in what will be committed) 

      Add_file.txt 

    nothing added to commit but untracked files present (use "git add" to track) 

    C:\Users\mylocaluser\Documents\GitHub\99_Gitbug>git add Add_file.txt 

    C:\Users\mylocaluser\Documents\GitHub\99_Gitbug>git status 
    On branch master 
    Your branch is up-to-date with 'origin/master'. 
    Changes to be committed: 
     (use "git reset HEAD <file>..." to unstage) 

      new file: Add_file.txt 


    C:\Users\mylocaluser\Documents\GitHub\99_Gitbug>git commit -m "6th commit to local WIN repo" 
+0

Je ne suis pas expert de Windows (je l'éviter autant que possible), mais en général, Windows se comporte de cette façon quand un processus est titulaire d'un verrou au niveau du système d'exploitation (différent de la serrure Git fichier que vous supprimez) sur un fichier, et un autre processus essaie d'utiliser le fichier. Vérifiez s'il existe des commandes d'arrière-plan qui contiennent des fichiers ouverts. (Ou, vous pouvez utiliser le gros marteau de "avez-vous essayé de l'éteindre et de rallumer" :-) c'est-à-dire, redémarrer ...) – torek

+0

Oui, après avoir lancé un appel à l'aide, j'ai essayé de désinstaller/installer tous les composants GIT. C'était après plusieurs tentatives, suppression de fichier/dir, et redémarrage. Le flakiness a eu 1 pas pire après la réinstallation ... git clonage de git shell aussi accroché. Le clonage créait un répertoire pour le référentiel distant, créait le fichier .git dans le répertoire, mais malgré la commande shell & last exécutée pendant 1 heure, le fichier de test repo distant n'écrivait jamais dans le répertoire cible. Aucun autre logiciel n'est ouvert à ce moment-là, donc si quelque chose bloque l'activité git, je n'ai aucune idée de quoi il s'agit. J'ai besoin de sauvegarder une étape et comprendre la journalisation git. –

+0

git commit problème d'accrochage non résolu. Problème de clonage git résolu en utilisant l'URL HTTP à la place de l'URL de dépôt distant HTTPS. –

Répondre

0

Je suis sûr que ce sont des problèmes newb, mais pour la pauvre âme me suit qui tente d'apprendre git, voici mes solutions rencontrées sur ma machine WIN8.1. La syntaxe exacte de chaque commande git est incluse dans l'exemple de code.

1) Si le clonage d'un repo distant échoue sur votre machine Windows, essayez d'utiliser l'URL HTTP à la place de HTTPS pour votre repo. Clonage HTTPS purement et simplement échoué pour moi.

> git clone http://github.com/Agent-Sesame/99_Gitbug.git 

2) Si vous trouvez que git commit est suspendu & défaut sur Windows, essayez autour de votre message de validation d'état avec une marque «tick au lieu de « guillemet. La partie la plus délicate de cette convention est que » semble être pris en charge avec git sur Mac OSX.

> git commit -m '6th commit from WIN' 

Bonne chance ~