Git'te yeniyim, bu yüzden bana bir acemi gibi davranmakta özgürsünüz.
Bizim iş akışımız böyle. Biz denilen bir şube var devben de ulaşabilir origin/dev. Değişiklikler yaptığımızda, dev kapalı bir dal oluştururuz:
git checkout -b FixForBug kaynağı / dev
Şimdi FixForBugizleme adında bir şubem var (bence bu doğru kelime) origin/dev. Bu nedenle, eğer yaparsam git pullyeni değişiklikler getireceğimorigin/dev , harika olan . Şimdi, düzeltmemi bitirdiğimde, aynı adı verilen uzak bir şubeye gidiyorum.
İlk önce herhangi bir değişikliği aşağı origin/devçekiyorum ve bir geri ödeme yapıyorum:
git çekme --rebase
Sonra değişiklikleri aynı adı taşıyan uzak bir dala gönderiyorum:
git itme kaynağı FixForBug
Şimdi, uzak sunucuda bir dal var ve bu değişikliğin onaylanması ve geliştirici dalına yeniden birleştirilmesi için bir çekme isteği oluşturabilirim. Ben yok hiç bir şey itmek origin/devkendim. Sanırım bu oldukça yaygın bir iş akışı.
A'yı ilk yaptığımda git pushiyi çalışıyor ve uzak dalı yaratıyor. Bununla birlikte, ikinci kez basarsam (diyelim ki kod incelemesi sırasında birisi bir soruna işaret eder), aşağıdaki hatayı alıyorum:
hata: ' https://github.limeade.info/Limeade/product.git ' ' e bazı referanslar gönderilemedi ipucu: Güncel dalınızın ucu ipucu: uzaktaki karşılığı olduğu için güncellemeler reddedildi. Tekrar basmadan önce uzaktan değişiklikleri (örn. İpucu: 'git pull ...') entegre edin. ipucu: Ayrıntılar için 'git push --help'deki' Hızlı ilerlemelerle ilgili not'a bakın.
Bununla birlikte, eğer bir yaparsam , 1 işlemden git statusönde olduğumu söylüyor origin/dev(bu mantıklı) ve ipucunu takip edip koşarsam git pull, her şeyin güncel olduğunu söylüyor. Sanırım bunun sebebi yukarı havza şubemden farklı bir şubeye gitmem. Bu sorunu şunu çalıştırarak çözebilirim:
git push -f origin FixForBug
Bu durumda, (zorunlu güncelleme) diyerek değişiklikleri uzak şubeye gönderir ve uzak dalda her şey iyi görünür .
Sorularım:
-fBu senaryoda neden gereklidir? Genellikle bir şeyi zorladığınızda , bunun nedeni yanlış bir şey yaptığınız veya en azından standart uygulamaya aykırı olduğunuz içindir. Bunu yapmakta sorun olmayacak mı, yoksa uzak dalda bir şeyi mahvedecek mi yoksa sonunda öğelerimi dev ile birleştirmek zorunda kalan kişi için bir güçlük yaratacak mı?
git pull origin FixForBugBen buna zorlamadan önce temelde koşmak mı? Tamam bu mantıklı. Cevap olarak eklemekten çekinmeyin!
