SORU
24 Ocak 2012, Salı


Değişen gıt bas sonra commit mesajı (kimse uzaktan çektiği göz önüne alındığında)

Git ve bas tamamlama sonraki yaptık. Mesaj tamamlama değiştirmek istiyorum. Eğer doğru anladıysam, bu kimse böyle bir değişiklik yapmadan önce uzak deposundan çekilmiş olabileceği için tavsiye edilmez. Eğer kimse çekti biliyorum yoksa?

Bunu yapmanın bir yolu var mı?

CEVAP
24 Ocak 2012, Salı


Eğer en son commit ise, sadece bunu yapabilirsiniz:

git commit --amend

Bu son editöre teslim mesajı ve mesajı düzenlemenizi sağlar getirir. (Eğer eski mesajı silip yenisini kullanmak istiyorsanız -m kullanabilirsiniz.)

Ve sonra bastığınızda, bunu yapmak için:

git push --force <repository> <branch>

push --force kullanırken dikkatli olun. Eğer başka birisi aynı şube için değişiklik itti, ve bu değişiklikler yok olacaktır.

Zaten çekti herkes şimdi bir hata iletisi alırsınız ve kendilerini herhangi bir değişiklik yapmadan değil mi varsayarak) böyle bir şey yaparak güncellemek için ihtiyacınız olacak:

git fetch origin
git reset --hard origin/master # Loses local commits

reset --hard kullanırken dikkatli olun. Eğer şube değişiklikler varsa, bu değişiklikler yok olacaktır.

Tarih değiştirme hakkında bir not

Yok Veri çok eski mesaj kaydetme sadece, ama --force bunu bilmiyor, ve mutlu bir şekilde diğer verileri de silecektir. Yani "veri yok etmek istiyorum, ve veri imha ediliyor ne emin." bildiğim gibi --force düşün Ama yok Veri kararlı olduğunda, genellikle eski reflog—veriler aslında gelen iptalleri kurtarabilirsinizartıkimha (yetim rağmen düzenli olarak silinir taahhüt) yerine.

Eğer veri yok sanıyorsun eğer doğru değilse, o zaman uzakta--force... bad things might happenuzak dur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • schmittastic

    schmittastic

    9 EYLÜL 2009
  • SRI International

    SRI Internat

    30 NİSAN 2008
  • tychoadragmire

    tychoadragmi

    20 Mart 2006