diff options
Diffstat (limited to '1.md')
-rw-r--r-- | 1.md | 104 |
1 files changed, 104 insertions, 0 deletions
@@ -396,3 +396,107 @@ $ git log --oneline --decorate --graph --all > KONTUZ: Ez bada `--all` egiten ez dira defektuz adar guztiak bistaratzen `git > log`-en bitartez. + + +## Adarrak eta mergeak — I + +![](img/basic-branching-4.png){ height=180px } + +## Adarrak eta mergeak — II + +**Fast forward** kasua. Adar bat bestearen barruan dago. + +![`git checkout master` +`git merge hotfix`](img/basic-branching-5.png){ height=200px } + +## Adarrak eta mergeak — III + +Beti ez da hain erreza. Demagun: + +![](img/basic-branching-6.jpg){ height=180px } + +## Adarrak eta mergeak — IV + +Arbaso amankomuna (*common ancestor*) ateratzen saiatzen da eta bi buruekin eta +arbaso amankomunarekin *three-way merge* bat egiten du. + +![`git checkout master` +`git merge iss53`](img/basic-merging-1.jpg){ height=180px } + +## Adarrak eta mergeak — V + +Commit berri bat gehitzen du, bi adarrak lotzen dituena. + +*Merge* commita da: bi guraso (edo gehiago) ditu. + +![`git checkout master` +`git merge iss53`](img/basic-merging-2.jpg){ height=180px } + +## Konfliktoak — I + +Aurreko kasua ez da beti ondo ateratzen, batzutan konfliktoak egon daitezke +bi adarretan aldaketak leku berdinetan agertzen direnean: + +``` +$ git merge iss53 +Auto-merging index.html +CONFLICT (content): Merge conflict in index.html +Automatic merge failed; fix conflicts and then +commit the result. +``` + +## Konfliktoak - II + +``` +$ git status +On branch master +You have unmerged paths. + (fix conflicts and run "git commit") + +Unmerged paths: + (use "git add <file>..." to mark resolution) + + both modified: index.html + +no changes added to commit (use "git add" and/or +"git commit -a") +``` + +## Konfliktoak - III + +Fitxategia horrela ikusten da: + +``` +<<<<<<< HEAD:index.html +<div id="footer">contact : + email.support@github.com</div> +======= +<div id="footer"> + please contact us at support@github.com +</div> +>>>>>>> iss53:index.html +``` + +Separadoreak daude `<<<<<<<`, `=======` eta `>>>>>>>`. + +Lehenengo zatian `HEAD`-en zegoena dago eta bigarrenean `iss53`-n zegoena. +Eskuz erabaki behar da konfliktoa nola konpondu. + +## Adarrak kudeatzeko + +- `git branch` adarrak listatzeko +- `git branch --merged | --no-merged` oraingo adarrarekin mergeatuta edo + mergeatu gabe dauden adarrak listatzeko +- `git branch -d <adarra>` adarrak ezabatzeko. Mergeatu gabe dauden adarrak ez + ditu zuzenean ezabatzen. +- `git branch --move <adarra> <izen_berria>` izenez aldatzeko. +- `git push --set-upstream <remote> <adarra>` remoteari zein adar erabili behar + duen esateko +- `git push <remote> --delete <adarra>` remotean adar bat ezabatzeko + +## Adarrekin workflow ezberdinak + +- Long running branches: `master`, `testing` eta `development` +- Topic branches: issue eta feature bakoitzeko adar berri bat eratzen da. + +## Adarrak remotetan |