git tools + resolving conflictsdogfalo.github.io/git-stuco/week5/week5.pdf · next week on git...

20
Week 5 Git Tools + Resolving Conflicts

Upload: others

Post on 13-Aug-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

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