Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git...

20
Week 5 Git Tools + Resolving Conflicts

Transcript of Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git...

Page 1: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Week 5Git Tools + Resolving Conflicts

Page 2: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

● git branch● git merge

○ 3 way and fast forward

Last Week

Page 3: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Review● Name an advantage of using branching in

your workflow● Difference between three way merge and

fast forward merge

Page 4: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...
Page 5: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Git Tools● https://git.wiki.kernel.org/index.

php/Interfaces,_frontends,_and_tools

Page 6: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

2-wayLOCAL - current file on the branchREMOTE - file to be merged into LOCAL

Easier to use

Page 7: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

3-way mergeLOCAL - current file on the branchREMOTE - file to be merged into LOCALBASE - common ancestorRESULT - result of the merge

Page 8: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

3-way vs 2-way merge algorithms

http://codicesoftware.blogspot.com/2010/11/live-to-merge-merge-to-live.html

Page 9: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Windows: P4merge

Mac: FileMerge (bundled in command line tools)

Linux: kdiff3 or meld

merge tools

Page 10: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Setting a mergetoolgit config --global merge.tool p4mergegit config --global mergetool.path <path>

Page 11: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

git mergetool

Page 12: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

opendiff

Page 13: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Git GUI● simple graphical user interface for basic

commands● easy to use● lacks more advanced commands or at the

very least as complicated as command line

Page 14: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

GUI vs command linePros ● easy to use for beginners● looks pretty● if inexperienced harder to make mistakes (can’t -f)

Cons: ● takes time to learn● adds a layer of complexity if you already know the commands● functionality is limited● requires more resources● scripting is hard

Page 15: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

● removes untracked files from working tree

● useful if your repository has accumulated numerous junk files

git clean

Page 16: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

git gc

● cleans up the repo● compresses revisions● removes dangling branches and other

unreachable objects

Page 17: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

● Allows you to save your work before it is “commit ready”● modified tracked files and staged changes● useful if you are switching branches with uncommited

work● git stash list - shows stash stack● git stash apply● git stash clear

git stash IMPORTANT

Page 18: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Emojis:neckbeard::smiling_imp:

http://www.emoji-cheat-sheet.com/

Page 19: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Next Week on Git● Workflows Forking ● Pull Requests ● Rebasing

Page 20: Git Tools + Resolving Conflictsdogfalo.github.io/git-stuco/week5/Week5.pdf · Next Week on Git Workflows Forking Pull Requests Rebasing. Cygwin unix-like environment for windows ...

Cygwin● unix-like environment for windows