Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Git tutorial

3,026 views

Published on

A quick tutorial of most commonly used git commands

Published in: Software
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ http://1lite.top/XBvYd ◀ ◀ ◀ ◀
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you’re struggling with your assignments like me, check out ⇒ www.HelpWriting.net ⇐.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Did u try to use external powers for studying? Like ⇒ www.WritePaper.info ⇐ ? They helped me a lot once.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Git tutorial

  1. 1. Git Quick Tutorial Pikicast R&D Jack Pham
  2. 2. Git Commands Setting up a repository init, clone, config Saving changes add, commit Inspecting a repository status, log Navigate through commit and branch checkout Undo changes checkout, revert, reset, clean Rewriting history commit —ammend, rebase (rebase -i), reflog Syncing remote, fetch, pull, push Branching branch, checkout, merge * Need to use with caution, should never be done on public(share) target
  3. 3. Setup a repository and start working init clone
  4. 4. git vs svn
  5. 5. Git init git init git init --bare git clone
  6. 6. Saving changes add commit
  7. 7. Git repository local
  8. 8. Working Directory Stage Area File status git add git add git commit git rm Tracked
  9. 9. Common Git Routine (Local) - Edit-Stage-Commit $vim hello.js # Edit $ git add hello.js $ git commit # Edit commit message - Edit-Stage-Commit-Amend # Edit hello.js $ git add hello.js $ git commit --amend # Edit commit message ** Don’t amend commit that you already push to public repository
  10. 10. Viewing old commits log checkout
  11. 11. View log $ git log $ git log -n <limit> $ git log --oneline $ git log --stat $ git log -p $ git log --author=“<patterns>” $ git log <file> $ git log --graph --decorate --oneline $ git log --grep=“<patterns>”
  12. 12. git checkout branch git checkout master git checkout feature
  13. 13. git checkout commit git checkout master git checkout 81abc12 ** Don’t commit your work on a detach head
  14. 14. Checkout options git checkout <branch> git checkout <commit> git checkout <commit> <file> Example: git checkout master git checkout a12ebd3 git checkout a12ebd3 hello.js
  15. 15. Undoing changes checkout revert reset
  16. 16. git checkout to undo git checkout a1e8fb5 # modify files git add <file> git commit
  17. 17. git revert <commit> git revert abcd12ef Before revert After revert abcd12ef - The git revert command undoes a committed snapshot. - Undo the changes introduced by the commit - Appends a new commit with the resulting content. - git revert doesn't alter history
  18. 18. git reset abcd12ef abcd12ef Before reset After reset - Variation: - git reset <file> : remove from staging area - git reset : reset branch to most recent commit (soft) - git reset ——hard - git reset <commit> - git reset ——hard <commit> - git revert is “safe” way to undo - git reset “dangerous” to undo ** Don’t reset if you’ve already pushed to shared repository
  19. 19. revert vs reset - Don’t alter history - Safe way to undo but generate more commit - For undo shared/public commits - Alter history - unsafe way to undo shared/public commits - Cleaner history - For undo private (non-public) commits
  20. 20. Rewriting History commit --amend reflog rebase
  21. 21. git commit --amend - Modify last commit - Replace last commit entirely - Use to fix last commit (which hasn't pushed to share repo) - Variation - git commit --amend - git commit --amend --no-edit ** Don’t amend commit that you already push to public repository
  22. 22. git rebase <base> - Rebasing is the process of moving a branch to a new base commit. - Maintain linear history git rebase git merge
  23. 23. git reflog - What to do if you accidentally - git reset --hard - Reflog contain log of activity you perform
  24. 24. Remote synchronise and branching remote pull fetch push branch merge
  25. 25. git remote git remote git remote -v git remote add <name> <url> git remote rm <name> git remote rename <oldname> <new-name>
  26. 26. git fetch - Download commits from remote but not merge to local - Give you opportunity to review - Merge or rebase after review git fetch <remote> git fetch <remote> <branch>
  27. 27. git pull git fetch git merge git pull = git fetch + git merge git pull --rebase = git fetch + git rebase - Download commits from remote and merge (or rebase) to local branch
  28. 28. git push transfer commits from your local repository to a remote repo. git push <remote> git push <remote> —force git push <remote> -all git push <remote> --tags ** Do not use the --force flag unless you’re absolutely sure you know what you’re doing.
  29. 29. git branch Represented by a pointer (branch tip) git branch git branch <branch> git branch -d <branch> git branch -D <branch> git branch -m <branch>
  30. 30. git merge Putting forked history back together git branch -m <branch> git branch --no-ff <branch> fast-forward (git does this whenever possible) non-fast-forward (3-ways merge) (probably after rebase)
  31. 31. Cleaner history - Private branch: rebase & fast-forward merge - Share: 3-way merge - Atomic commit and meaningful message - Good naming convention
  32. 32. Staying out of troubles - Don’t amend commit that you already shared repository - Don’t commit your work on a detached head - Don’t reset if you’ve already pushed to shared repository - Don’t use the ‘push --force’ flag unless you’re absolutely sure you know what you’re doing.

×