Belirli bir taahhüdü geri almanın en basit yolu nedir:
- kafa veya kafada değil
- Uzaktan kumandaya itildi.
Çünkü bu son taahhüt değilse,
git reset HEAD
çalışmıyor. Ve uzaktan kumandaya itildiği için,
git rebase -i
ve
git rebase --onto
uzaktan kumandalarda bazı sorunlara neden olacaktır.
Dahası, tarihi gerçekten değiştirmek istemiyorum. Kötü kod olsaydı, tarihte vardı ve görülebilir. Sadece çalışma kopyasında istiyorum ve ters birleştirme taahhüdü umurumda değil.
Başka bir deyişle, aşağıdaki svn komutlarının Git eşdeğeri nedir :
svn merge -r 303:295 http://svn.example.com/repos/calc/trunk
yeni bir taahhüt olarak bu revizyonlardaki tüm değişiklikleri tersine birleştirerek 295 ile 302 arasındaki tüm değişiklikleri kaldırır.
svn merge -c -302 ^/trunk
302 taahhüdünü geri alır, elbette söz konusu taahhütten gelen değişiklikleri tersine çeviren başka bir taahhüt ekleyerek.
Git'te oldukça basit bir işlem ve oldukça yaygın bir kullanım örneği olması gerektiğini düşündüm. Atomik taahhütlerin başka anlamı nedir?
Sahnelemeye sahibiz ve taahhütlerin mükemmel bir şekilde atomik olmasını sağlamak için her şeyimiz var , bu atomik taahhütlerden birini veya daha fazlasını kolayca geri alamaz mısınız?