Boş taahhütleri uzaktan kumandaya itmek


242

Bir taahhüdü uzaktan kumandaya ittim ama şimdi taahhüt mesajının doğru olmadığını fark ettim. Taahhüt mesajını değiştirmek istiyorum ancak AFAIK mümkün değil. Bu yüzden doğru mesajla boş taahhüt oluşturmaya karar verdim:

git commit --allow-empty

Boş taahhütleri zorlamanın dezavantajları / sonuçları var mı? Bu boş taahhüt nedeniyle gelecekte karşılaşabileceğim herhangi bir sorun var mı?


1
Bu benzer soruyu kontrol edin stackoverflow.com/questions/6218199/…
Montaro

Yanıtlar:


80

Korkunç bir sonuçla karşılaşmayacaksınız, sadece tarih biraz kafa karıştırıcı görünecek.

Sen olabilir yaparak mesajı işlemek değiştirmek

git commit --amend
git push --force-with-lease # (as opposed to --force, it doesn't overwrite others' work)

AMA bu uzak geçmişi seninle geçersiz kılacak, yani bu arada bu repoyu çeken biri varsa, bu kişi sana çok kızacak ...

Sadece depoya erişen tek kişi siz olun.


5
Evet bu yüzden boş taahhüdünü itmeyi tercih
ettim

4
@mrutyunjay eğer başkalarının repoyu çekme şansı varsa, evet, bence daha güzel bir seçenek.
Gabriele Petronella

1
Korkunç bir sonuçla karşılaşmayacaksınız, sadece tarih biraz kafa karıştırıcı görünecek - ne korkunç bir sonuç! ;-)
Alois Mahdal

3
--force-with-leaseOrtak çalışanların çalışmalarını kaybetmemek için tercih edin.
Kenzo

22

boş olsun ya da olmasın taahhütleri itmek, sonunda git kancalarının tetiklenmesine neden olur. Bu ya hiçbir şey yapamaz ya da dünyanın yıkıcı sonuçları olabilir.


9
Bu az bir gözlemdir. Evet, boş taahhütler itilmiş taahhütleri değiştirmekten daha üstün olabilir, ancak yerinde kancalar varsa yan etkisiz oldukları kabul edilemez.
wintermute92

18

Boş taahhütleri zorlamanın dezavantajları / sonuçları var mı?

Aşırı kafa karışıklığının yanı sıra, birileri neden usta değil, içinde içerik bulunmayan bir sürü taahhüt olduğunu anlayabilir.

Sen edebilirsiniz Daha sonra yapmak zorundayız - hangi değişiklikler gösterirse kaynak ağacını, kalıcı değişecek uzaktan teşvik ettiğim işlemek, ancak sha1 (temelde 's id numarası) işlemek değiştirmek git push -fuzaktan için geri.


15

Boş taahhüdün diğer taahhüdüne açıkça atıfta bulunduğunuz sürece, iyi olmalıdır. Gibi bir şey:

Commit message errata for [commit sha1]

[new commit message]

Diğerlerinin de belirttiği gibi, bu genellikle düzeltilmiş bir taahhüdü zorlamak için tercih edilir.


12
 $ git commit --allow-empty -m "Trigger Build"

2
Bu kod soruyu çözebilir, ancak bunun sorunun nasıl ve neden çözüldüğüne dair bir açıklama da dahil olmak üzere , yayınınızın kalitesini artırmaya yardımcı olabilir ve muhtemelen daha fazla oyla sonuçlanır. Sadece şimdi soran kişi için değil, gelecekte okuyucular için soruyu cevapladığınızı unutmayın. Lütfen açıklama eklemek için yanıtınızı düzenleyin ve hangi sınırlamaların ve varsayımların geçerli olduğunu belirtin. Şu kaynaktan
double-beep

-1

Peki buna ne dersin;

 git commit --allow-empty-message -m ''

İletiyi basitçe kaldırdınız ve bu, bir taahhüdün boş kalması durumunda daha da kötüleştiğini, en azından neden olduğunu bildiren bir mesaj olmalıdır.
Eric Bishard
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.