Tüm bu git sıfırlama, sert, yumuşak ve burada belirtilen her şey muhtemelen (benim için işe yaramadı) adımları doğru ve bir tür cin yaparsanız çalışıyor.
Ortalama bir Joe smo iseniz, şunu deneyin:
git merge --squash nasıl kullanılır?
Hayatımı kurtardım ve squash'a gideceğim, bunu öğrendiğimden beri 4 kez kullanıyorum. Basit, temiz ve temelde 1 comamnd. Kısacası:
Eğer bir şubedeyseniz "off_new_feature" diyelim gelişmeye devam edelim ve çekme talebinizin 35 taahhüt (veya birçok) var ve 1 olmasını istiyorsunuz.
A. Şubenizin
güncel olduğundan emin olun, Devam edin "my_new_feature" ile herhangi bir çatışmayı geliştirmek, en son almak ve birleştirmek ve çözmek
(bu adım gerçekten her zaman olabildiğince çabuk almak gerekir)
B. En son geliştirmek ve yeni bir şube "my_new_feature_squashed" olarak adlandırmak dal
C. sihir burada.
Çalışmanızı "my_new_feature" tan "my_new_feature_squashed" e götürmek istiyorsunuz.
Sadece yapın (yeni
dalınızda geliştirirken geliştirdik): git merge --squash my_new_feature
Tüm değişiklikleriniz şimdi yeni şubenizde olacak, test etmekten çekinmeyin, daha sonra o şubenin 1 tek taahhüdünü, itmesini, yeni PR'sini yapın ve ertesi günü tekrarlayın.
Kodlamayı sevmiyor musun? :)
git rebase -i 58333012713fc168bd70ad00d191b3bdc601fa2d
commitnumber son nerede olduğunu kalır taahhüt wich interaktif rebase yapacak değişmeden