SORU
15 EYLÜL 2010, ÇARŞAMBA


Hareket şube kullanarak git üzerine usta tamamlar

Gıt etkili bir şekilde nasıl kullanılacağı ve nasıl hareket etmem gerektiğini merak ediyorum (iyi uygulama/kötü uygulama?) öğrenmeye çalışıyorum aşağıdaki vakayı çözmek:

Yüksek lisans iptalleri aşağıdaki zincir var dediler

  • İlk commit
  • 1 işlemek
  • 2 kaydetme
  • 3 kaydetme

O zaman son iki taahhüt bitiyor ne tamamen yanlış olduğunu fark ettim ve Taahhüt 1'den devam etmek istiyorum. Soru:

  • Nasıl böyle bir şey yapayım?
  • İleride (o kadar da kötü değillerdi ki) tutmak ve İşlemek 1 Çalışma ana devam etmek ayrı bir şube için 2 ve 3 İşlemek taşıyabilir miyim?

CEVAP
15 EYLÜL 2010, ÇARŞAMBA


git branch tmp            # mark the current commit with a tmp branch
git reset --hard Commit1  # revert to Commit1

Bu YÜZDEN "What's the difference between 'git reset' and 'git checkout' in git?" operasyon bu tür için oldukça öğretici . cevap

alt text

Birgit reset --hard HEAD~2aynı şeyi (Commit1 SHA1 ilk geri gerek kalmadan).

Commit2 Commit3 yine de Git bir hakem (burada bir şube) tarafından referans olduğu için, hala onları ne zaman istersen (git checkout tmp) dönebilirsiniz.


Aslında Darien yorumlar (başka bir şube için Commit2 Commit3 hareket ile ilgili) söz:

Yanlışlıkla yanlış şube adamış, bu bana gidelim mi:

git checkout correctbranch
git rebase tmp
git branch -d tmp

Bu işler burada bu yana ilk şube oldu sıfırlamak için Commit1 anlamına git rebase tmp tekrar her commit sonrası Commit1 (yani burada Commit2 Commit3) yenicorrectbranch'.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • joshsnice

    joshsnice

    28 Kasım 2006
  • Living Waters

    Living Water

    9 AĞUSTOS 2006
  • Tylerron

    Tylerron

    6 AĞUSTOS 2006