understanding and practicing git
DESCRIPTION
HPDS lab tutorial on Git Date: 6/18 (Wed.) Author: Tzu-Li TaiTRANSCRIPT
Understanding and PracticingUnderstanding and Practicing
GitGit
Tzu-Li TaiHPDS LaboratoryDept. of Electrical EngineeringNational Cheng Kung UniversityTainan, Taiwan
Why do I need to learn Git?
2
242
Why do I need to learn Git?
342
What is Git?
Git - Version Control System (VCS)
● Concurrent Versions System (CVS)
● Apache Subversion (SVN)
442
What will be taught today?
Understand the basics of Git … and some HANDS-ON practice
542
What will be taught today?
Understand how to code with others using Git... and the Cloud
… and a little moreHANDS-ON practice for that
642
Git Basics: Commit, Checkout, Merge
Commit
git commit7
42
code_A.py
code_B.py
Git Basics: Commit, Checkout, Merge
842
code_A*.py
code_B.py
A*.py
Git Basics: Commit, Checkout, Merge
Buffer everything before you actually make the change!
git add code_a.pygit commit
942
Project History:A series of commits
Git Basics: Commit, Checkout, Merge
1042
master
feature
Git Basics: Commit, Checkout, Merge
git branch featuregit checkout feature or
git checkout -b feature
1142
master
feature
Git Basics: Commit, Checkout, Merge
git add XXXgit commit
1242
master
feature
Git Basics: Commit, Checkout, Merge
git add XXXgit commit
1342
master
feature
Git Basics: Commit, Checkout, Merge
git add XXXgit commit
1442
master
bug-fix
feature
Git Basics: Commit, Checkout, Merge
git checkout mastergit checkout -b bug-fix
1542
master
bug-fix
feature
Git Basics: Commit, Checkout, Merge
git add XXXgit commit
1642
master
bug-fix
feature
Git Basics: Commit, Checkout, Merge
git checkout master
1742
master
bug-fix
feature
Git Basics: Commit, Checkout, Merge
git checkout mastergit merge bug-fix
1842
master
bug-fix
feature
Git Basics: Commit, Checkout, Merge
git checkout mastergit merge bug-fixgit branch -d bug-fix 19
42
master
feature
Git Basics: Commit, Checkout, Merge
git checkout featuregit merge bug-fix
2042
master
feature
Git Basics: Commit, Checkout, Merge
git add XXXgit commit
2142
master
feature
Git Basics: Commit, Checkout, Merge
git checkout master
2242
master
feature
Git Basics: Commit, Checkout, Merge
git checkout mastergit merge feature
2342
Git Basics: Commit, Checkout, Merge
Time to get your hands dirty...
HANDS-ON PRACTICE24
42
Git with Others using GitHub
Central Repository
Local Repositories25
42
Git with Others using GitHub
init a central repo
… and clonea local repo
2642
Git with Others using GitHub
master
branch-1
branch-2
origin/master
origin/branch-1
origin/branch-2
master
git clone XXX.git
2742
Git with Others using GitHub
master
branch-1
branch-2
origin/master
origin/branch-1
origin/branch-2
master
branch-2
git checkout origin/branch-2git checkout -d branch-2
2842
Git with Others using GitHub
master
branch-1
branch-2
origin/master
origin/branch-1
origin/branch-2
master branch-2
git add XXXgit commit
2942
Git with Others using GitHub
master
branch-1
branch-2
origin/master
origin/branch-1
master
branch-2
origin/branch-2
git checkout origin/branch-2git merge branch-2
3042
Git with Others using GitHub
master
branch-1
origin/master
origin/branch-1
master
branch-2
origin/branch-2
branch-2
git push
3142
Git with Others using GitHub
master
branch-1
origin/master
origin/branch-1
origin/branch-2
master branch-2
branch-2
3242
Git with Others using GitHub
master
branch-1
origin/master
origin/branch-1
origin/branch-2
master branch-2
branch-2
git fetch
3342
master
feature
Git with Others using GitHub
3442
master
feature
Git with Others using GitHub
3542
master
feature
Git Basics: Commit, Checkout, Merge
… …
3642
master
feature
Git Basics: Commit, Checkout, Merge
… …
git rebase master
3742
Git with Others using GitHub
master
branch-1
origin/master
origin/branch-1
origin/branch-2
master branch-2
branch-2
3842
Git with Others using GitHub
master
branch-1
origin/master
origin/branch-1
origin/branch-2
master branch-2
branch-2
git rebase origin/branch-2
3942
Git with Others using GitHub
master
branch-1
origin/master
origin/branch-1
master
branch-2
branch-2
origin/branch-2
git checkout origin/branch-2git merge branch-2
4042
Git with Others using GitHub
master
branch-1
origin/master
origin/branch-1
master
branch-2
origin/branch-2
branch-2
git push
4142
Time to get your hands dirty again...
HANDS-ON PRACTICE
Git with Others using GitHub
4242