2012-06-26 16 views
5

Git repo'm var ve sadece bir sunucuya ittim. Ardından sunucuda bir posta alma kancası kurarım. Ben kontrol etmek istiyorum çalışır. İşe yarayıp yaramadığını görmek için tekrar işlemek zorundayım? Gerçek bir değere sahip olmayan taahhütler yapmaya devam etmek yerine, bu kurulumu gerçekleştirmeye çalışırken, sadece bir itmeyi zorlamak isterim. Çalışmıyor ve ben anlamıyorum.Yapılmadan itme

$ git push --force origin master 
Everything up-to-date 
+0

Çatal üzerindeki GitHub sayfaları için: http://stackoverflow.com/questions/8587321/github-pages-in-forked-repo –

cevap

5

Sen eski bir bunu başarmak için taahhüt itmek gerekir.

git push --force origin HEAD^:master 

HEAD tekrar işlemek itebilir Bundan sonra:

git push origin master 

Ancak yerine her zaman göz önünde iterek Örneğin, Bu yorumu kullanarak mevcut BAŞ önce hakkını taahhüt itebilecek kancayı elle çağırmak. Bu genellikle daha kolaydır - ama bu işlerin sadece emin olmak için çalıştığını düşündüğümüz zaman gerçek bir itme ile test etmek unutmayın.

+0

Kancadaki şeyleri netleştirebilir misiniz? Ya da bazı rehbere işaret edin –

2

kullanabileceğiniz biraz kirli numara yok:

git stash save && git push --force origin "[email protected]{0}:master" && git stash pop 

bu 3 şey yapar:

  1. Stash akım kararsız değişir. Stashing yeni bir işlem yaratıyor, ancak ayrı bir ref. Tarihini kirletmeyecek. Ayrıca, çalışma dizinini değişikliklerden temizler. Bkz. 3. adım.
  2. Zımbalanan kodu itin
  3. Stash'ı açın - zemini temizleyin ve tüm dosyaları çalışma dizininize yerleştirin.

Bu etkin bir yerel taahhüt yaratmadan uzak tüm dosyaları itecektir.