25

L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with
Page 2: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

http://broncoscheduler.com/

Bronco Scheduler

Page 3: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Version Control - A Brief Introduction to Git

CS480 Software Engineering

Yu Sun, Ph.D. http://yusun.io [email protected]

Page 4: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Why Version Control?

Page 5: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Maintain Multiple Versions

• Safe backup

• Change version

Page 6: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Collaboration The problem to avoid

Page 7: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Collaboration The lock-modify-unlock solution

Page 8: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Collaboration The copy-modify-merge solution

Page 9: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Collaboration The copy-modify-merge solution

Page 10: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Monitor and Track Progress

Code Difference

Code Contribution

Page 11: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Why Git?

Page 12: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Why Git?

• Performance

• Github

• Popular

Page 13: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Git History

Page 14: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with
Page 15: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Why Command-Line?

Page 16: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Why Git Command-Line?

• GraphicalclientsarebasedonCLT

• Graphicalclientscouldcauseproblems

• Integratedwithshellscripts

• Graphicalclientsnotalwaysavailable

Page 17: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Git Exercises

Page 18: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

1. Create Git Repositories

• gitclone<repo>

• gitinit<repo>

local repository

remote repository

local repository

local repository

Page 19: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

2. Add/Commit/Push

• gitadd<path>

• gitcommit

• gitpush

working directory

staging area

local repository

remote repository

git add

git commit

git push

localremote

Page 20: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

3. Check Status

• gitstatus

• gitlog

• gitbranch

Page 21: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

4. Sync Changes & Resolve Conflicts

• gitpull--rebase(referredapproach)

• gitpull

• gitstatus

• //cleanupconflicts

• gitadd<conflictedfile>

• gitrebase--continue

• gitpush

local repository

remote repository

git pull --rebase

localremote

Page 22: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

5. Branches

• gitcheckout-b<branch>

• gitcheckout<branch>

• gitmerge<branch>

Feature Branch

Master

Page 23: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

6. Git Undo

• Alwaysbackupfirst

• GooglethesoluAon

Page 24: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Git Learning Resources

• http://git-scm.com/

• https://www.youtube.com/user/GitHubGuides

• Google it!

Page 25: L05-Version-Control-Gitcs480.yusun.io/slides/l04.pdf · • Popular. Git History B .KPWU 6QTXCNFU H+ O CP GIQVKUVKECN DCUVCTF CPF + PCOG CNN O[ RTQLGEVU CHVGT ... • Integrated with

Git Basics Overview