Git veri havuzumun 2 şubesi var: master ve geliştir. Tüm değişikliklerin otomatik olarak oluşturulmasını sağlayan bir komut dosyası istiyorum. 2 git dalını otomatik olarak birleştirmek için komut dosyası mı?
Ben Jenkins kullandı:# merge
git checkout -b develop origin/develop
git checkout master
git merge -Xtheirs --squash develop -m "v${version}"
# commit
git commit -m "v${version}"
# tag
git tag v${version} -m "v${version}"
# push
git push origin v${version}
Ben bir test depo üzerinde denedim ve başarısız: Git klonları depoyu ve sonra bu komut dosyası ('sürümün' değişken bir iş parametredir) çalıştırılır eklentisi :
git -Xtheirs
UYUŞMAZLIĞI (/ silme değiştirme) geliştirmek birleştirme: sınama.txt geliştirmek silinir ve HEAD modifiye. Test.txt dosyasının HEAD'si ağaçta kaldı.
Otomatik birleştirme başarısız; çakışmaları düzeltin ve sonucu işleyin.
Nasıl bu çatışmayı otomatik giderebilirim? Komut dosyasının her zaman "geliştirme" dalına göre dosya eklemesini/değiştirmeyi/kaldırmayı istiyorum, çünkü ana zaten hiçbir zaman dokunulamayacak ...
Sen "ana dokunmadık" demekle ancak bir olsun çatışma yine de? Asla dokunmadığı takdirde, basit bir 'git birleştirme - sadece köken/geliştir' yeterli olacaktır. – fge
Ana sürümü 'origin/develop' sürümüyle _replace_ istiyorsanız ve birleştirme işlemini kaydetmiyorsanız, neden 'birleştirme - nosquash' ile uğraşmak istemezsiniz? Sadece git checkout master && git reset origin/develop && git reset --soft HEAD @ {1} 'ya da benzeri için temizleyici olmaz mıydı? –