Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git introduction

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

Git introduction

v1.0

Avatar for perfectfoolish

perfectfoolish

April 01, 2013
Tweet

Other Decks in Programming

Transcript

  1. - - - a/test working directory staging area git directory

    (repository) +++ b/test $ vim test 13年4月1⽇日星期⼀一
  2. working directory staging area git directory (repository) $ git add

    test - - - a/test +++ b/test 13年4月1⽇日星期⼀一
  3. working directory staging area git directory (repository) version 1 $

    git commit master HEAD 13年4月1⽇日星期⼀一
  4. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD 13年4月1⽇日星期⼀一
  5. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test - - - a/test +++ b/test 当前状态 13年4月1⽇日星期⼀一
  6. working directory staging area git directory (repository) version 1 $

    git diff version 2 version 3 version 4 master HEAD - - - a/test +++ b/test git diff - - - a/test +++ b/test 13年4月1⽇日星期⼀一
  7. working directory staging area git directory (repository) version 1 $

    git diff --staged version 2 version 3 version 4 master HEAD - - - a/test +++ b/test git diff --staged (cached) - - - a/test +++ b/test 13年4月1⽇日星期⼀一
  8. working directory staging area git directory (repository) version 1 $

    git diff HEAD version 2 version 3 version 4 master HEAD - - - a/test +++ b/test git diff HEAD - - - a/test +++ b/test 13年4月1⽇日星期⼀一
  9. working directory staging area git directory (repository) version 1 $

    git status -s version 2 version 3 version 4 master HEAD - - - a/test +++ b/test git status - - - a/test +++ b/test 13年4月1⽇日星期⼀一
  10. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git add - - - a/test +++ b/test -u -A . -f 13年4月1⽇日星期⼀一
  11. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git reset HEAD - - - a/test +++ b/test $ git rest HEAD $ git rest HEAD test 13年4月1⽇日星期⼀一
  12. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test - - - a/test +++ b/test 13年4月1⽇日星期⼀一
  13. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git checkout - - - a/test +++ b/test $ git checkout . $ git checkout test 13年4月1⽇日星期⼀一
  14. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test - - - a/test +++ b/test 13年4月1⽇日星期⼀一
  15. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git checkout HEAD - - - a/test +++ b/test $ git checkout HEAD test $ git checkout HEAD . 13年4月1⽇日星期⼀一
  16. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD 13年4月1⽇日星期⼀一
  17. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git reset --soft HEAD~ - - - a/test +++ b/test $ git reset --soft HEAD~ 13年4月1⽇日星期⼀一
  18. working directory staging area git directory (repository) version 1 version

    2 version 3 master HEAD - - - a/test +++ b/test - - - a/test +++ b/test - - - a/test +++ b/test 13年4月1⽇日星期⼀一
  19. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git reset --soft SHA1 - - - a/test +++ b/test $ git rest --soft SHA1 SHA1 13年4月1⽇日星期⼀一
  20. working directory staging area git directory (repository) version 1 version

    2 master - - - a/test +++ b/test - - - a/test +++ b/test - - - a/test +++ b/test - - - a/test +++ b/test HEAD 13年4月1⽇日星期⼀一
  21. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git reset --hard HEAD - - - a/test +++ b/test $ git reset --hard HEAD 13年4月1⽇日星期⼀一
  22. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD 13年4月1⽇日星期⼀一
  23. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git reset --hard HEAD^ - - - a/test +++ b/test $ git reset --hard HEAD^ 13年4月1⽇日星期⼀一
  24. working directory staging area git directory (repository) version 1 version

    2 version 3 master HEAD 13年4月1⽇日星期⼀一
  25. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git reset --hard SHA1 - - - a/test +++ b/test $ git rest --hard SHA1 SHA1 13年4月1⽇日星期⼀一
  26. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git stash - - - a/test +++ b/test $ git stash 13年4月1⽇日星期⼀一
  27. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD 13年4月1⽇日星期⼀一
  28. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD git stash list stack - - - a/test +++ b/test - - - a/test +++ b/test $ git stash list stash@{0}: WIP on master: SHA1 13年4月1⽇日星期⼀一
  29. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD - - - a/test +++ b/test git stash apply - - - a/test +++ b/test $ git stash apply 13年4月1⽇日星期⼀一
  30. working directory staging area git directory (repository) version 1 version

    2 version 3 version 4 master HEAD git stash drop stack $ git stash drop $ git stash clear 13年4月1⽇日星期⼀一
  31. version 1 version 2 version 3 version 4 master HEAD

    idea $ git checkout -b idea $ git branch idea; git checkout idea $ git checkout SHA1-b feature create branch 13年4月1⽇日星期⼀一
  32. version 1 version 2 version 3 version 4 master HEAD

    idea version 5 $ git branch -v -a check branch 13年4月1⽇日星期⼀一
  33. version 1 version 2 version 3 version 4 master HEAD

    idea switch branch version 5 $ git checkout master 13年4月1⽇日星期⼀一
  34. version 1 version 2 version 3 version 4 version 8

    version 6 master HEAD version 9 version 7 idea 13年4月1⽇日星期⼀一
  35. version 1 version 2 version 3 version 4 version 8

    version 6 version 9 version 7 idea master HEAD M $ git merge idea git merge 13年4月1⽇日星期⼀一
  36. version 1 version 2 version 3 version 4 version 8

    version 6 version 9 version 7 idea master HEAD version 10 $ git branch -d idea -D delete branch 13年4月1⽇日星期⼀一
  37. version 1 version 2 version 3 version 4 version 8

    version 9 master HEAD version 10 13年4月1⽇日星期⼀一
  38. version 1 version 2 version 3 version 4 version 8

    version 6 version 9 version 7 idea git push remote_name local_branch:remote_branch $ git push origin idea:idea remote origin/master origin/HEAD 13年4月1⽇日星期⼀一
  39. version 1 version 2 version 3 version 4 version 8

    version 6 origin/master origin/HEAD version 9 version 7 idea git push remote_name :remote_branch $ git push origin :idea remote 13年4月1⽇日星期⼀一
  40. version 1 version 2 version 3 version 4 version 8

    origin/master origin/HEAD version 9 remote 13年4月1⽇日星期⼀一
  41. version 1 version 2 master HEAD version 3 origin/master origin/HEAD

    version 3 version 2 version 1 local/remote local remote 13年4月1⽇日星期⼀一
  42. version 1 version 2 version 3 version 3 version 4

    origin/master origin/HEAD version 5 version 2 version 1 $ git fetch origin version 4 origin/master origin/HEAD version 5 master HEAD version 4 remote local fetch 13年4月1⽇日星期⼀一
  43. version 1 version 2 master HEAD version 3 version 3

    version 4 origin/master origin/HEAD version 5 version 2 version 1 $ git rebase origin/master version 5 version 4’ version 4 local remote rebase 13年4月1⽇日星期⼀一
  44. version 1 version 2 version 3 version 3 version 4

    origin/master origin/HEAD version 5 version 2 version 1 $ git pull version 4 origin/master origin/HEAD version 5 version 4 remote local git pull master HEAD Merge $ git fetch origin;git merge origin/master 13年4月1⽇日星期⼀一
  45. version 1 version 2 version 3 version 3 version 4

    origin/master origin/HEAD version 5 version 2 version 1 $ git pull --rebase version 4 version 5 master HEAD version 4’ remote local git pull --rebase $ git fetch origin;git rebase origin/master 13年4月1⽇日星期⼀一
  46. version 1 version 2 version 3 version 4 version 5

    version 6 master HEAD version 7 git rebase -i HEAD~n version 1 version 2 version 3 version 4 master HEAD version 5 $ git commit --amend 13年4月1⽇日星期⼀一
  47. version 1 version 2 version 3 version 4 version 5

    version 6 master HEAD version 7 tag $ git tag -a v1.0 -m “v 1” $ git tag -a v1.0 SHA1 -m “v 1” $ git push origin v1.0 $ git push --tags $ git fetch origin --tags $ git log --oneline --decorate --graph 13年4月1⽇日星期⼀一
  48. git log $ git log --oneline $ git log --author=[name]

    --oneline -[number] $ git log $ git log --oneline master $ git log --oneline --graph $ git log --oneline --before={1.weeks.ago} --after={2013-03-27} --nomerges 13年4月1⽇日星期⼀一
  49. git remote $ git remote $ git remote -v $

    git remote add [alias] [url] $ git remote rename [old-alias] [new-alias] $ git remote rm [alias] $ git remote ser-url [alias] [url] 13年4月1⽇日星期⼀一