Belirtilen dalı mevcut dal ile birleştirmek için kullanılır. Bu komut yerine squash veya rebase kullanılabilir. Açıklaması şöyle
Merge the specified branch into the current branch
Merge ve Conflict
Merge işleminde conflict çıkma olasılığı var. Bu yüzden sıkça merge yapmakta fayda var. Açıklaması şöyle
Şöyle yaparız. otherbranch o anda checkout etmiş olduğumuz branch ile birleştirilir. Yani
Delaying things only means it's more likely for others to get code into your merge target, making the merge worse
Merge ve Unit Test
Her iki dalda da unit testlerin geçmesi, merge işleminde sonra da testlerin geçeceği anlamına gelmez. Dolayısıyla master branch'te de testlerin koşması gerekir.
Kullanım
Feature isimli branch açtığımızda şeklen şöyle olur
Merge işleminden sonra şöyle olur. Yani commit tarihçemizi veya sıramızı muhafaza eder
Açıklaması şöyle
Pull Request in Bitbucket and GitHub or Merge Request in GitLab are the features made for more convenient code review and change management. Though they have different names, these features are equivalent, as they both do the same git merge command to merge feature branches or forks with the existing code.
Bitbucket Pull Request şeklen şöyle.
Birleştirme işleminden sonra kaynak dalı silmek isteyebiliriz. Şöyle yaparız
Kullanım
Bulunduğumuz dala ismi belirtilen daldaki değişiklikleri birleştirir.
Örnek
Şöyle yaparız
git checkout developgit merge feature/[JIRA-ID]-description
Yani "develop" dalına geçtikten sonra "feature/[JIRA-ID]-description" dalındaki değişiklikleri develop'a birleştirmek isteriz.
Örnek
Şöyle yaparız
# Get repo changes git fetch origin # Go to our feature branch git checkout feature # Commit some work ... # Go to main branch git checkout master # Merge feature to main branch git merge --no-ff feature # Push to origin git push origin main # We can delete the feature branch safely git branch -d feature
-squash seçeneği
Açıklaması şöyle. Yani commit tarihçesini veya sırasını muhafaza etmez, bizim commitleri en sona ekler.
In this case a new commit in the origin branch will be created, containing all of the commits created in our feature branch.
Şeklen şöyle olur
Örnek
Şöyle yaparız. release branch'e geçtikten sonra bugfix ve feature branch'lerini release branch'e birleştiririz
git checkout release/[YY.MM]git merge --squash bugfix/[JIRA-ID]-descriptiongit merge --squash feature/[JIRA-ID]-description
Örnek
Şöyle yaparız
# Get repo changes git fetch origin # Go to our feature branch git checkout feature # Commit some work ... # Go to main branch git checkout main # Merge feature to main branch git merge --squash feature # Push to origin git push origin main # We can delete the feature branch safely git branch -d feature
-X seçeneği
ÖrnekŞöyle yaparız. otherbranch o anda checkout etmiş olduğumuz branch ile birleştirilir. Yani
develop <- otherbranch şeklindedir.
Burada patience git'e patience algoritmasını kullanması söyleniyor.
git merge -X patience otherbranch
Hiç yorum yok:
Yorum Gönder