Yeni eklenen dosyalar da dahil olmak üzere tüm dosyaları tek bir komut kullanarak nasıl sahne alabilir ve uygulayabilirim?
Yeni eklenen dosyalar da dahil olmak üzere tüm dosyaları tek bir komut kullanarak nasıl sahne alabilir ve uygulayabilirim?
Yanıtlar:
mu
git add -A && git commit -m "Your Message"
"tek komut" olarak sayılsın mı?
Aşağıdaki @ thefinnomenon'un cevabına göre düzenleyin :
Bunu almak için şunu git aliaskullanın:
git config --global alias.coa '!git add -A && git commit -m'
ve yeni dosyalar da dahil olmak üzere tüm dosyaları aşağıdakileri içeren bir mesajla gönderin:
git coa "A bunch of horrible changes"
Açıklama ( git addbelgelerden ):
-A, --all, - yoksayma yok
Dizini yalnızca çalışma ağacının dosya eşleşmesi olduğu yerde değil, dizinin zaten bir girdisi olduğu yerde de güncelleştirin. Bu, çalışma ağacıyla eşleştirmek için dizin girdilerini ekler, değiştirir ve kaldırır.
<pathspec>-A seçeneği kullanıldığında hayır verilirse, tüm çalışma ağacındaki tüm dosyalar güncellenir (Git'in eski sürümleri, güncelleştirmeyi geçerli dizine ve alt dizinlerine sınırlamak için kullanılır).
git add -A ; git commit -m "Your Message"
Bu komut, değiştirilen tüm dosyaları ekler ve işler, ancak yeni oluşturulan dosyaları eklemez .
git commit -am "<commit message>"
Adam git-commit'den:
-a, --all
Tell the command to automatically stage files that have been modified
and deleted, but new files you have not told Git about are not
affected.
Bu işlevi kullanıyorum:
gcaa() { git add --all && git commit -m "$*" }
Benim zsh yapılandırma dosyasında, ben sadece yapabilirim:
> gcaa This is the commit message
Tüm dosyaları otomatik olarak sahne ve taahhüt etmek.
function gcaa() { git add --all && git commit -m "$*" && git push }
gaa && gc -m "my commit"ama bu çok daha güzel ... <bashrc değiştirmek için scurries ..>
TÜM dosyaları sahne alan ( değiştirilmiş , silinmiş ve yeni ) tek satır ve yorumda bulunma:
git add --all && git commit -m "comment"
http://git-scm.com/docs/git-add
http://git-scm.com/docs/git-commit
Bu cevapların neden doğru çözüm olduğuna inandığım şeylerin etrafında dans ettiğinden emin değilim ama burada değdiğim için kullandığım şey:
git config --global alias.coa '!git add -A && git commit -m'
git coa "A bunch of horrible changes"
NOT: coataahhüt için kısadır ve kalbinizin istediği herhangi bir şeyle değiştirilebilir
git aliasyol arıyordu , gerisi sıkıcı.
Git'e bağlılık, duruma bağlı olarak çok adımlı bir işlem veya bir adım olabilir.
Bu durum, birden çok dosyanızın güncellendiği ve taahhüt etmek istediğiniz yerdir:
Herhangi bir şey yapmadan önce değiştirilmiş tüm dosyaları eklemelisiniz.
git add -A
veya
git add --all
Bundan sonra, eklenen tüm dosyaları taahhütlü kullanabilirsiniz
git commit
bununla birlikte bu taahhüt için mesaj eklemeniz gerekir.
Geçerli dalda değişiklikleri saklamak için "hızlı ve kirli" bir yol istiyorsanız, aşağıdaki diğer adı kullanabilirsiniz:
git config --global alias.temp '!git add -A && git commit -m "Temp"'
Bu komutu çalıştırdıktan sonra git temp, git seçeneğinin geçerli daldaki tüm değişikliklerinizi otomatik olarak "Temp" adlı bir taahhüt olarak işlemesi için yazabilirsiniz . Daha sonra, git reset HEAD~değişiklikleri çalışmaya devam etmek için daha sonra kullanabilirsiniz , böylece bunlar üzerinde çalışmaya devam edebilir veya git commit --amendtaahhüde daha fazla değişiklik ekleyebilir ve / veya uygun bir ad verebilirsiniz.
Benim konfigürasyonumda iki takma isim var:
alias.foo=commit -a -m 'none'
alias.coa=commit -a -m
eğer çok tembelsem tüm değişiklikleri taahhüt ederim
git foo
ve sadece hızlı bir taahhütte bulunmak
git coa "my changes are..."
coa "taahhüt et" anlamına gelir
Verilen komutu çalıştırın
git add . && git commit -m "Changes Committed"
Ancak, tek bir komut gibi görünse bile, iki ayrı komut tek tek çalışır. Burada sadece &&onları birleştirirdik. Koşmaktan git add .ve git commit -m "Changes Committed"ayrı olarak çok farklı değil
. Birden fazla komutu birlikte çalıştırabilirsiniz, ancak sıralama burada önemlidir. Değişiklikleri aşamalandırma ve kaydetme ile birlikte uzak sunucuya göndermek istiyorsanız, bunu verilen şekilde yapabilirsiniz,
git add . && git commit -m "Changes Committed" && git push origin master
Bunun yerine, diziyi değiştirir ve pushilk sıraya koyarsanız, önce yürütülür ve yalnızca ilk çalıştırıldığı için hazırlama ve işlemden sonra istenen push vermez.
&&ilk komut başarılı geri gelir, veya 0 karşıt bir hata seviyesi zaman hattında ikinci komutu çalıştırır &&IS|| ilk komut başarısız ya da 1 olan bir hata seviyesi ile, ikinci komutu çalıştırır.
Alternatif olarak, oluşturabileceğiniz Alise'e olarakgit config --global alias.addcommit '!git add -a && git commit -m' vegit addcommit -m "Added and commited new files"
Harika yanıtlar, ancak tek bir çizgi arıyorsanız, hepsini bir araya getirebilir, takma adlandırabilir ve rahatlığın tadını çıkarabilirsiniz:
git add * && git commit -am "<commit message>"
Tek bir satır ama iki komuttur ve belirtildiği gibi bu komutları diğer adlara takabilirsiniz:
alias git-aac="git add * && git commit -am " (sondaki boşluk önemlidir) çünkü yeni kısa el komutunu parametrelendireceksiniz.
Bu andan itibaren, bu takma adı kullanacaksınız:
git-acc "<commit message>"
Temelde şöyle diyorsunuz:
git, benim için izlenmeyen tüm dosyaları ekle ve bu verilen taahhüt mesajı ile taahhüt.
Umarım Linux kullanırsın, umarım bu yardımcı olur.
Yapmak git-commitallistediğiniz şeyi gerçekleştirmek için birkaç git komutunu kullanan küçük bir komut dosyası yazabilirsiniz (Ian Clelland'ın cevabına bakın) .
Bu betiği içindeki herhangi bir yere yerleştirin $PATH. Tarafından arayabilirsinizgit commitall ... çok kullanışlı!
Burada bulundu (soru ve tüm cevaplar maalesef silindi, sadece yüksek itibar ile görülebilir)