Git commit -bir "izlenmeyen dosyalar"?


93

Bir yaptığımda git commit -aaşağıdakileri görüyorum:

  # Please enter the commit message for your changes. Lines starting
  # with '#' will be ignored, and an empty message aborts the commit.
  # On branch better_tag_show
  # Changes to be committed:
  #   (use "git reset HEAD <file>..." to unstage)
  #
  # modified:   ../assets/stylesheets/application.css
  # modified:   ../views/pages/home.html.erb
  # modified:   ../views/tags/show.html.erb
  # modified:   ../../db/seeds.rb
  #
  # Untracked files:
  #   (use "git add <file>..." to include in what will be committed)
  #
  # ../assets/stylesheets/
  # ../views/pages/

Bu izlenmeyen dosyalar ne anlama geliyor? Tüm değişiklikler gerçekten izlendi. Git'in beni neden izlenmeyen dosyalar hakkında burada uyardığını anlamıyorum.

DÜZENLE :

Tamam, çok fazla karışık yanıt görüyorum. Benden sonra olan git commit -abu.

# On branch master
nothing to commit (working directory clean)

Gördüğünüz gibi, değişikliklerin uygulandığı bu dört dosyadan başka HİÇBİR ŞEY yok.

Sorum şu şekilde yeniden ifade edilmelidir: Git, bu işlemedeki tüm değişiklikler izlendiğinde neden izlenmeyen dosyalar hakkında beni uyarıyor?

Başka bir deyişle, git commit mesajındaki izlenmeyen uyarı gereksiz mi?


1
(use "git add <file>..." to include in what will be committed)
zengr

1
zengr gerekli değildir çünkü git commit -a izlenen dosyalara yapılan tüm değişiklikleri işleyecektir.
kayboldu

3
O olduğu dosyalar hiç gerektiğinde addşu ana kadar ed. Dokümanlardan -a: Komuta, değiştirilen ve silinen dosyaları otomatik olarak hazırlamasını söyleyin, ancak git'e bahsetmediğiniz yeni dosyalar etkilenmez .
Noufal İbrahim

Neden git seni 'uyarıyor' diyorsun? Gördüğüm kadarıyla 'izlenmemiş' dosyalar mesajı bilgi amaçlıdır. Bu dosyaların yönetilmesi ve buna göre davranılması gerekip gerekmediğini görmeniz sizin için.
sateesh

@sateesh Pekala, ona ne isim vermek istersen, hala bunun gerçekten yardımcı olduğunu düşünmüyorum. Bu nasıl bilgilendirici? Ne yapmam gerekiyor? Yukarıda listelenenler dışında başka hiçbir dosyada değişiklik olmadığını yazdığım "DÜZENLE" bölümündeki yazımı okudunuz mu? Bu bilgilendirici bulursanız, endişelenecek bir şey olmadığında repo ağacınızdaki herhangi bir rastgele klasörün izlenmeyeceğini söylememe eşdeğerdir.
kayboldu.

Yanıtlar:


105

Aynı sorunu yaşayanlar için koşmayı deneyin

git add . bu, geçerli dizinin tüm dosyalarını izlenecek (izlenmeyenler dahil) ekleyecek ve sonra

git commit -a izlenen tüm dosyaları işlemek için.

@Pacerier tarafından önerildiği gibi, aynı şeyi yapan bir astar

git add -A


5
git commit -aizlenmeyen dosyaları değil, izlenen tüm dosyaları işleyecektir. git add .mevcut dizindeki izlenmeyen dosyaları izleyecektir. git add -aizlenmeyen tüm dosyaları izleyecektir.
Burada

@matteo git add -Adeğil git commit -A. Anlayabildiğim kadarıyla git commitizlenemeyen dosyaları içeren geçiş yapabileceğiniz bir anahtar yok .
Len

1
-a sadece A için kullanımdan kaldırılmış gibi görünüyor. Hepinize teşekkür ederim. :)
tcratius

Bu komutlar hakkında daha fazla bilgi için, kontrol edebilirsiniz: stackoverflow.com/questions/572549/…
Onat Korucu

30

git commit -am "msg"değil aynı git add filevegit commit -m "msg"

Git izlemeye hiç eklenmemiş dosyalarınız varsa, yine de yapmanız gerekenler git add file

"Git commit -a" komutu, iki adımlı bir sürecin kısayoludur. Depo tarafından zaten bilinen bir dosyayı değiştirdikten sonra, depoya "Hey! Bunu hazırlanmış dosyalara eklemek ve sonunda size teslim etmek istiyorum. " Bu, "git add" komutu verilerek yapılır. "Git commit -a" dosyayı aşamalıyor ve tek adımda teslim ediyor.

Kaynak: "git commit -a" ve "git add"


ama, dediğin gibi git commit -a = git ekle. + git commit neden dosyayı izleme alanına otomatik olarak
Johnny

1
@Johnny: + 'ya git commit -aeşit değildir . Adım ekler modifiye olarak listelenen dosyaları sizin de geçerli dizinde değil, her şey. git add .git commitgit addgit status
Soren Bjornstad

Evet, bunu bugün keşfettim!
KansaiRobot

10

Komut satırına yazmalısınız

git add --all

Bu, izlenmeyen tüm dosyaları işleyecek

Düzenle:

Dosyalarınızı hazırladıktan sonra, işlemeye hazırdırlar, bu nedenle bir sonraki komutunuz

git commit -am "Your commit message"

5
Bu , tüm dosyaları aşamalandırır , işleme koymaz. Yine de bunu ayrı yapmak zorundasın.
Saeb Amini

8
  1. Öncelikle izlenmeyen tüm dosyaları eklemeniz gerekir. Bu komut satırını kullanın:

    git add *

  2. Ardından bu komut satırını kullanarak kesin:

    git commit -a


8

İzlenmeyen dosyalarla sorun yaşıyorsanız, bu 3 satırlık komut dosyası size yardımcı olacaktır.

git rm -r --cached .
git add -A
git commit -am 'fix'

O zaman sadece git push


Bu benim için woks çünkü artık görmezden geldiğim izlenen dosyaları izlemem gerekiyordu.
casus adam

3

Adından da anlaşılacağı gibi 'izlenmeyen dosyalar' git tarafından izlenmeyen dosyalardır. Onlar sizin sahneleme alanınızda değiller ve önceki herhangi bir işlemin parçası değiller. Sürümlendirilmelerini (veya git tarafından yönetilmelerini) istiyorsanız, bunu 'git add' kullanarak 'git' diyerek yapabilirsiniz. Bu bölümü kontrol havuzu için Kayıt değişiklikler de Progit terimler 'izlenen' açıklayan ve 'izlenmeyen' da git repo değişiklikleri, kayıt ve hakkında iyi bir açıklama için güzel bir görsel kullanır kitapta.


1
+1 progit referansı için. lütfen URL’yi v2 git-scm.com/book/en/v2 ve git-scm.com/book/en/v2/… olarak
stefan123t

0

Dosyaları kaydetmeden veya eklemeden önce .git klasör yapılandırmasını bulabilmesi için yerel git'inizde doğru dizinde (depo ana klasörü) olduğunuzdan emin olun.


Bu soruya bir cevap vermiyor. Bir yazarı eleştirmek veya açıklama istemek için yazının altına bir yorum bırakın. - Yorumdan
sampathsris
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.