Ortak ana şubeye ve her kurulum için bir tane olmak üzere birçok paralel şubeye sahip olan web uygulamasını sürdürüyoruz, her birinin birkaç spesifik değişikliği var. Kaynak kodu git'te yönetilir ve ana daldan paralel olanlara aktarım özelliklerine ve hata düzeltmelerine ihtiyaç duyduğumuzda harika bir araçtır. Ancak hassas olan ve otomatik birleştirme genellikle kötü sonuçlar veren birkaç dosyadır. Dolayısıyla, bir şekilde işaretlenebilirlerse ve her birleştirme, manuel birleştirme gerektiren çatışmalara neden olursa, birleştirme çok daha kolay olacaktır.
Bir cevap aradım:
- Ben --no-commit ve --no-ff birleştirme seçeneklerini kullanıyorum, ancak bu aynı değil.
- Burada ve burada birisi aynı soruyu sorar ama çözümü yoktur.
- Benzer durum, dosyanın .gitattributes kullanılarak birleştirilmesinin nasıl engelleneceği gibi görünüyor : somefile.php merge = bizim . Çatışma yaratacak veya manuel birleştirmeye zorlayacak bir birleştirme seçeneği bulmaya çalıştım, ancak şimdiye kadar hiçbirini bulamadım.
- somefile.php -merge içeren .git öznitelikleri hiçbir zaman otomatik olarak birleştirilmez ve bu nedenle el ile birleştirmeye zorlar. Bu% 90 çözüm, ancak aradığım şey otomatik birleştirmeyi denemek ve başarılı olsun ya da olmasın bunu çatışma olarak işaretlemek. Ancak bu şimdiye kadar çözüme en yakın olanıdır. (... açıklama için teşekkürler Charles Bailey ...)
- Birisi özel birleştirme sürücüsü ( 1 , 2 ) yazmayı öneriyor , ancak bunun nasıl yapılacağı bana açık değil.
düzenleme: varyant 4. açıklama
git fetch
, sonra kullanıyorumgit difftool <file> FETCH_HEAD
, böylece uzak şubedeki değişikliği yerel olarak manuel olarak uygulayabilirim.