Git değiştirilen, silinen ve izlenmeyen tüm dosyalar eklensin mi?


Yanıtlar:


307

Deneyin:

git add -A

Uyarı: git 2.0 (2013 ortası) ile başlayarak, bu dosyalar her zaman tüm çalışma ağacında sahnelenir .
Dosyaları çalışma ağacınızın geçerli yolunun altına yerleştirmek istiyorsanız, şunları kullanmanız gerekir:

git add -A .

Ayrıca bakınız: Farkı git add -Avegit add .


bu benim için çalışmadı ... Bu tartışmada terminal giriş-çıkışımı nasıl gösterebilirim? terminal çıktımı bu tartışmaya bir cevap olarak kopyala-yapıştır?
Rakib

İşte ben karşı karşıya olduğum sorun - stackoverflow.com/q/7726131/636762 - lütfen bana bu bir yardım lütfen
Rakib

Git sürümünüz eskiyse bu da çalışmaz. Git 1.5.2.5 çalıştıran bir sunucuda bir komut dosyası çalıştırıyordum. git add -A çalışmıyor. Koddan hiçbir hata mesajı bildirilmedi. Sadece komut satırından -A eklemek yasal bir seçenek değildi buldum.
İsimsiz

ama neden her taahhütte bulunduğumda dosya eklemem gerekiyor? Bir dosyada değişiklik yapmam gerekiyorsa eklemem gerekiyor ..
Frade

3
Git tam da böyle çalışır. İşleme başlamadan önce hazırlama alanınıza değişiklikler eklemelisiniz. Örneğin, bir taahhüde yalnızca bazı dosyalar ekleyebilir ve her zaman yerine tüm dosyalar için yorum sağlayabilirsiniz. İşte bunun ne yaptığına ve nedenine dair kullanışlı bir açıklama: gitready.com/beginner/2009/01/18/the-staging-area.html
Kilanash

75

Deneyin

git add -u

"u " Seçeneği güncelleme anlamına gelir. Bu, depoyu günceller ve dosyaları yerel kopyanızda sildiğiniz depodan siler.

git add -u [filename]

silme işlemini yalnızca bir dosyaya yerleştirmek için. Basıldıktan sonra dosya artık depoda olmayacak.

Alternatif olarak,

git add -A .

eşittir

git add .

git add -u .

Ekstra '.' üzerinde git add -Avegit add -u


Uyarı: git 2.0 (2013 ortası) ile başlayarak, bu dosyalar her zaman tüm çalışma ağacında sahnelenir .
Dosyaları çalışma ağacınızın geçerli yolunun altına yerleştirmek istiyorsanız, şunları kullanmanız gerekir:

git add -A .

Ayrıca bakınız: Farkı git add -Avegit add .


42

Aşağıdaki yanıt yalnızca Git sürüm 1.x için değil, Git sürüm 2.x için geçerlidir.

İstediğiniz git add -A:

git add -A aşamaları Hepsi;

git add . silinmeden yeni ve değiştirilmiş aşamalar;

git add -u aşamalar değiştirilmeden silinir.


Yukarıdakilerin yalnızca Git 1.x için geçerli olduğuna dikkat edin. Git sürüm 2.x için, git add -Aeşdeğerdir git add .. Daha fazla tartışma için buraya bakın .
jdhao

27

git add --all veya git add -A veya git add -A . Tüm Aşamalar

git add . Aşamalar Yeni ve Değiştirilmiş Ancak Silinmemiş

git add -u Aşamalar Değiştirildi ve Silindi, ancak Yenisi Yok

git commit -aAraçlar git add -uvegit commit -m "message"

Bu komutu yazdıktan sonra şu adımları izleyin: -

  1. basın i
  2. mesajını yaz
  3. basın esc
  4. basın :wq
  5. basın enter

git add <list of files> belirli bir dosya ekle

git add *.txt geçerli dizindeki tüm txt dosyalarını ekle

git add docs/*/txt tüm txt dosyalarını dokümanlar dizinine ekle

git add docs/ tüm dosyaları dokümanlar dizinine ekle

git add "*.txt"veya git add '*.txt'tüm projedeki tüm dosyaları ekleyin


12

Silinen dosyaları ekleyip eklemeyeceğinden emin değilim, ancak git add .kökten izlenmeyen tüm dosyaları ekleyecek.


silinmiş dosyaların nasıl ekleneceği ile ilgili cevabımı gör
Matt Kneiser

5

Bu benim alternatifim (herhangi bir bashda):

$ git status -s|awk '{ print $2 }'|xargs git add

Sıfırlamak

$ git status -s|awk '{ print $2 }'|xargs git reset HEAD

5

G2 projesini yazdım, komut satırı için git dostu bir ortam.
Lütfen projeyi github'dan alın - G2 https://github.com/orefalo/g2

Bir sürü kullanışlı komutlara sahiptir, bunlardan biri tam olarak aradığınız şeydir: freeze

dondur - Depodaki tüm dosyaları (eklemeler, silme işlemleri, değişiklikler) hazırlama alanına dondurur , böylece bu içeriği bir sonraki işleme dahil edilmek üzere hazırlar. Belirli bir yolu parametre olarak da kabul et


5

Daha yeni sürüm içinGit'in için.

Denedim git add -Ave bu,

Uyarı: Ağacın bir alt dizininden yol bağımsız değişkeni olmayan 'git add --all (veya -A)' davranışı Git 2.0'da değişecektir ve artık kullanılmamalıdır. Ağacın tamamına içerik eklemek için şunu çalıştırın:

git add --all: / (veya git add -A: /)

Komutu geçerli diziyle sınırlamak için şunu çalıştırın:

git add --all. (veya git -A ekle.)

Geçerli Git sürümünde, komut geçerli dizinle sınırlıdır.


Sonra aşağıda çalıştı hangi çalıştı .

git add --all :/

3

Sürüm 2.0'dan başlayarak Git belgelerinden:

Ağacın tamamına içerik eklemek için şunu çalıştırın:

git add --all :/

veya

git add -A :/

Komutu geçerli diziyle sınırlamak için şunu çalıştırın:

git add --all .

veya

git add -A .

2

.Gitignore içinde listelenenler hariç, tüm değiştirilmiş ve yeni oluşturulan dosyaları hazırlama için eklemek için aşağıdaki satırı kullanın:

git add $(git ls-files -mo --exclude-standard)

($ () sözdizimi bash kabuğu içindir). Komut satırı seçeneği -mod da silinmiş dosyaları eklemek gerektiğini tahmin ... Veya, gömülü boşlukları ile dosya adları varsa, aşağıdaki tek satır hile yapmalıdır:

git ls-files -z --deleted --modified --others --exclude-standard | xargs -0 git add
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.