2015-04-17 39 views
6

GitHub'a bir dosya gönderme konusunda bir sorun yaşıyorum. Git'i ekleyebilirim, ama en kısa zamanda $ git commit -m 'my message''u denediğimde bir dosya ekleme işlemini tamamlamama izin vermeyerek bir hata alıyorum.Neden taahhüt edemiyorum? (Şubeniz "origin/master" ile günceldir, işlemek için herhangi bir değişiklik yapılmamıştır)

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

bunu kullanarak deneyin, sadece '$ git rm README.md $ git rm.DS_Store git $ commit -m "dosyaları silme" $ ​​git push -u origin master ' – Ethaan

+0

'git diff - HelloWorld.md' size ne söylüyor? – Jubobs

+0

git rm README.mdfatal: pathspec 'README.md' herhangi bir dosyayla eşleşmedi – imasnake

cevap

1

Görünüşe HelloWorld.md dosyada bir değişiklik olmadı (veya en yok:

$ git add HelloWorld.md 

$ git commit -m 'Hello world' 

I (: README.md & .DS_Store kırmızı ile belirtilmiştir silindi) şu cevabı almak hepsi), böylece taahhüt edilecek bir şey yok. Sadece "boş" bir dosya eklemek istiyorsanız, önce touch HelloWorld.md olduğundan emin olun, böylece dosya gerçekten oluşturulur. Varsa, düzenleyin (örneğin, vim HelloWorld.md kullanarak) ve işiniz bittiğinde editörünüzdeki değişiklikleri kaydettiğinizden emin olun.

Bunu yaptıktan ve dosyada gerçek değişiklikler yapıldıktan sonra, bunu gerçekleştirebilmeniz gerekir.

+1

Tüm olasılıkla, "HelloWorld.md" var, çünkü, eğer mevcut değilse ve 'git HelloWorld.md'yi çalıştırıyorsanız, aşağıdaki hatayı almalısınız: 'fatal: pathspec' HelloWorld.md ' herhangi bir dosyayla eşleştir. Bu, belki OP bunu aldı ve onun sorusu içinde bahsetmeyi unuttum dedi. – Jubobs

+0

'HelloWorld.md' var. Asıl sorunlardan biri, "Şubeniz" origin/master "ile günceldir - daha önce bu mesajı görmedim. – imasnake

1

işlemini yapacak hiçbir şeyiniz yok. Daha spesifik olarak:

  • README.md

    izlenen dosya oldu ama git rm README.md kullanmadan silindi. Git, dosyanın silinmiş olduğunu algılar, ancak ikinci işlemin bir sonraki işlemde etkili olmasını istiyorsanız, bu silme işlemine devam etmeniz gerekir.
  • .DS_Store, programlanmamış bir dosyadır; Bu şekilde, bir sonraki işlemin parçası olamaz. (Bu arada, you should ignore such files globally.)
  • git add HelloWorld.md bir etkisi yoktur: dosya Git tarafından izleniyor, ancak orada işlem yapmak için hiçbir şey yok, çünkü son işlemden bu yana herhangi bir değişiklik yapmadınız.

    Nasıl söyleyebilirim? HelloWorld.md önceden izlenmeyen bir dosyaymışsa veya son işlemden sonra değiştirdiğiniz izlenen bir dosyaysa, git add HelloWorld.md bu değişiklikleri başarıyla gerçekleştirebilirdi; işlemek için bir şey olurdu ve başarılı bir şekilde başarabilecektiniz.

Bazı değişiklikler yapın, bunları gerçekleştirin ve sonra işlem yapabilirsiniz. Son olarak,

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

basitçe konusunda alarma edilecek

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

Hiçbir şey anlamına gelir.

+0

Bilgi için teşekkürler! Tüm dosyayı silerek ve yeniden başlatarak kod olmayan bir çözüm buldum. – imasnake

3

Dosyayı değiştirdiyseniz ancak işlem yapmanız gereken bir şey yoksa, belki dosyayı git'e eklemediniz. (veya ekledikten sonra değiştirilir). taahhütte bulunmadan önce dosyayı ekleyerek Dene:

git add filename.ext 

Ya da sadece bütün dir ekleyin: 'git add'

git add . 
0

Aynı sorun için benim için çalıştı.