2015-04-17 14 views
6

Ho avuto qualche problema nel trasmettere un file a GitHub. Posso farlo per aggiungere git, ma appena provo lo $ git commit -m 'my message' ottengo un errore, non permettendomi di completare il processo di aggiunta di un file.Perché non posso eseguire il commit? (Il tuo ramo è aggiornato con 'origine/master', nessuna modifica aggiunta al commit)

$ git add HelloWorld.md 

$ git commit -m 'Hello world' 

ottengo la seguente risposta (cancellato: README.md & .DS_Store sono in rosso):

On branch master 

Your branch is up-to-date with 'origin/master'. 

Changes not staged for commit: 
     deleted: README.md 

Untracked files: 
     .DS_Store 

no changes added to commit 
+0

provare con questo, solo per sapere '$ git rm README.md $ git rm.DS_Store git $ commit -m "eliminazione di file" $ git push -u origine master' – Ethaan

+0

Cosa dice 'git diff - HelloWorld.md'? – Jubobs

+0

git rm README.mdfatal: pathspec 'README.md' non ha trovato alcun file – imasnake

risposta

1

A quanto pare non ha cambiato nulla nel file HelloWorld.md (o non esiste in tutto), quindi non c'è nulla da impegnare. Se si desidera semplicemente aggiungere un file "vuoto", assicurarsi prima di touch HelloWorld.md, in modo che il file sia effettivamente creato. Se esiste, modificalo (usando vim HelloWorld.md per esempio) e assicurati di salvare le modifiche nell'editor quando hai finito.

Una volta che hai fatto e ci sono modifiche effettive al file, dovresti essere in grado di commetterlo.

+1

Con ogni probabilità, 'HelloWorld.md' esiste, perché, se non esiste e si esegue' git add HelloWorld.md', si dovrebbe ottenere il seguente errore: 'fatale: pathspec 'HelloWorld.md' non ha corrisponde a qualsiasi file'. Detto questo, forse l'OP lo ha capito e ha dimenticato di menzionarlo nella sua domanda. – Jubobs

+0

Il 'HelloWorld.md' esiste. Uno dei problemi principali potrebbe essere il "Il tuo ramo è aggiornato con" origine/master "- Non ho visto questo messaggio prima. – imasnake

1

Non hai nulla da impegnare. Più in particolare:

  • README.md era un file monitorati, ma è stato eliminato senza usare git rm README.md. Git rileva che il file è stato cancellato, ma devi ancora metterlo in scena se vuoi che quest'ultimo sia efficace nel prossimo commit.
  • .DS_Store è un file non tracciato; in quanto tale, non può far parte del prossimo commit. (A proposito, you should ignore such files globally.)
  • git add HelloWorld.md non ha alcun effetto: il file viene tracciato da Git, ma non c'è niente da mettere lì, perché semplicemente non hai apportato alcuna modifica ad esso dall'ultimo commit.

    Come posso dire? Se HelloWorld.md fosse un file precedentemente non tracciato o se fosse un file tracciato che è stato modificato dall'ultimo commit, git add HelloWorld.md avrebbe messo in scena con successo tali modifiche; ci sarebbe stato qualcosa da impegnare, e saresti stato in grado di commettere con successo.

Apportare alcune modifiche, metterle in scena e quindi sarete in grado di commettere. Infine,

Your branch is up-to-date with 'origin/master'

significa semplicemente

You haven't created any commits on master since you pushed to origin/master .

Niente di cui allarmarsi.

+0

Grazie per le informazioni! Ho trovato una soluzione non di codice semplicemente eliminando l'intero file e ricominciando .. – imasnake

3

Se hai cambiato il file ma non c'è ancora nulla da impegnare, forse non hai aggiunto il file a git. (o sostituito dopo l'aggiunta). Prova ad aggiungere il file prima di impegnarsi:

git add filename.ext 

o semplicemente aggiungere l'intero dir: 'git add'

git add . 
0

ha funzionato per me per lo stesso problema

Problemi correlati