Git dalında eski işlemlere nasıl geri döneceğimi biliyorum, ancak bir etiket tarafından dikte edilen bir dalın durumuna nasıl geri dönebilirim? Bunun gibi bir şey tasavvur ediyorum:
git revert -bytag "Version 1.0 Revision 1.5"
Mümkün mü?
Git dalında eski işlemlere nasıl geri döneceğimi biliyorum, ancak bir etiket tarafından dikte edilen bir dalın durumuna nasıl geri dönebilirim? Bunun gibi bir şey tasavvur ediyorum:
git revert -bytag "Version 1.0 Revision 1.5"
Mümkün mü?
Yanıtlar:
Git etiketleri yalnızca kaydetmeye yönelik işaretçilerdir. Yani bunları HEAD, dal adlarını veya sha hash'lerini yaptığınız gibi kullanırsınız. Kaydetme / revizyon bağımsız değişkenlerini kabul eden herhangi bir git komutuyla etiketleri kullanabilirsiniz. git rev-parse tagname
Gösterdiği taahhüdü görüntülemek için ile deneyebilirsiniz .
Sizin durumunuzda en az şu iki alternatifiniz var:
Mevcut şubeyi belirli bir etikete sıfırlayın:
git reset --hard tagname
Sizi etiketin durumuna getirmek için en üstte geri dönüş taahhüdü oluşturun:
git revert tag
Yine de birleştirme taahhütleriniz varsa, bu bazı çatışmalara neden olabilir.
Git sıfırlamayı kullan :
git reset --hard "Version 1.0 Revision 1.5"
(belirtilen dizenin etiket olduğu varsayılarak).
Git checkout'u kullanabilirsiniz.
Kabul edilen çözümü denedim ama bir hata aldım, warning: refname '<tagname>' is ambiguous'
Ancak yanıtın da belirttiği gibi, etiketler bir commit için bir işaretçi gibi davranırlar, böylece bir commit hash'inde yapacağınız gibi, sadece etiketi kontrol edebilirsiniz. Tek fark şununla önsöz etmen tags/
:
git checkout tags/<tagname>