2013-11-09 30 views
30

Kolay görünüyor ama sadece anlamıyorum. Başvurumun kökündeyim.git commit -m vs. git commit -am

İşte iş akışım. Bu, genellikle çalışır. Tüm değişikliklerim itildi.

Ama bazen ben değiştirmek bir dosya var ama Heroku için iterken değişiklikler orada OLDUĞUNU BİR DOSYA içindir ... ama dosyaların çoğu için değişiklikler vardır ...

Ama eğer Ben

git add . 
git commit -am "added a new feature some files changed" 
git push heroku master 

şey (tüm değişiklikler) the docs itibaren Heroku

+0

Hangi dosyanın yakalanmadığı hakkında örnekler verebilir misiniz? Sildiğiniz bir dosya mı? Bazen git eklemelisiniz. - onları yakalamak için. – helion3

+0

@BotskoNet - Dosya, Rails uygulamasında bir CSS dosyasıdır. Herhangi bir sebepten dolayı bu dosyayı değiştirdiğimde değişiklikler Heroku'ya itilmez. Bu daha önce oldu ve nedenini anlamıyorum. – slindsey3000

+0

Belki bu size yardımcı olacaktır. [Olanlar arasında farklı] [1] [1]: http://stackoverflow.com/a/15419846/3962576 – Reven

cevap

33

iletilir yapın:

git commit -a otomatik olarak tüm izlenen, değiştirilmiş dosyaları işlenmeden önce otomatik olarak düzenler İş akışının gitme aşamasını çok hantal olduğunu düşünüyorsanız, Git bu parçayı -a seçeneği ile atlamanıza izin verir. Bu, temel olarak Git'i "izlenen" olan herhangi bir dosyaya eklemeyi çalıştırmasını söyler; yani, son işleminizde olan ve değiştirilmiş olan herhangi bir dosya. Bu, istiyorsan daha fazla Subversion stili iş akışı yapabilmenizi sağlar, sadece dosyaları düzenler ve daha sonra git taahhütünü çalıştırırsanız, değiştirdiğiniz her şeyi anlık olarak kaydetmek istediğinizde. Yine de, Subversion gibi, yeni dosyaları izlemeyi başlatmak için hala run git eklentisine ihtiyacınız var.

-am seçeneğinin kullanılması, tek komutta taahhüt için bir mesaj eklemenizi ve oluşturmanızı sağlar.

+0

Yani 'git -öğleden "x",' işi işlemek ... ama yok neden. ... 'git ekle.' 'git commit -m" x "' çalışmıyor? – slindsey3000

+8

Bazı dosyalarınız aşamalı olmadığından. Bu, şu anda izlenmeyen silinmiş/eklenmiş dosyalar ile oluşur. Genellikle, "untracked" dosyaları düzenlemek için bir 'git add -u 'yapmalısınız. -am bunu senin için de yapacak. –

+1

@ slindsey3000, git add-a ile gidip, git eklentisinden farklı olan git add --all ile aynı olabilir. –

İlgili konular