Yes, you can git!

Carol Willing
Carol WillingResearch Software Engineer, Project Jupyter at Cal Poly SLO
Y E S , Y O U C A N G I T !
I N T R O D U C T I O N T O G I T A N D G I T H U B
Carol Willing
@willingcarol
GitHub: willingc
W R I T E S P E A K C O D E
J U N E 1 7 , 2 0 1 6
– M A RY O L I V E R
“It’s not a competition, it’s a doorway.”
C H AT T I N G
W I T H F R I E N D S
• git
• a tool
• puts you in charge of
source files
• GitHub
• a service
• sharing and collaboration
C A L M
N A M I N G P L A C E S
L O C A L ( Y O U A R E H E R E ) , O R I G I N , U P S T R E A M
L O C A L
( Y O U A R E H E R E )
O R I G I N
( Y O U I N T H E C L O U D )
U P S T R E A M
( S O M E W H E R E E L S E I N T H E C L O U D )
L O C A L
( g i t )
O R I G I N
( y o u o n G i t H u b )
U P S T R E A M
( o p e n s o u rc e p ro j e c t o n G i t H u b )
L O C A L
( g i t )
O R I G I N
( y o u o n G i t H u b )
U P S T R E A M
( o p e n s o u rc e p ro j e c t o n G i t H u b )
remote
P E A C E F U L
G E T T I N G S TA R T E D
S E T T I N G U P T O C O N T R I B U T E T O A N O P E N S O U R C E P R O J E C T
Fork
an open source project
Fork
Copies source from
upstream to origin
Fork
an open source project
O R I G I N
( y o u o n G i t H u b )
U P S T R E A M
( o p e n s o u rc e p ro j e c t o n G i t H u b )
Click
Clone
your fork of an open source project
to your local computer
git clone <url>
git status
git remote -v
Add a remote
Let’s create a nickname of the open source project.
upstream sounds like a good nickname.
git remote -v
git remote add upstream <url>
git remote -v
Fork
an open source project
Clone
your fork
of an open source project
~/myprojects/wsc-music
https://github.com/<you>/wsc-music
https://github.com/gentlecodegarden/wsc-music
R E V I E W
C O N F I D E N T
C R E AT I N G
L E T ’ S M A K E S O M E T H I N G F O R T H E P R O J E C T
fetch, rebase, push
my workflow for keeping things updated
git fetch upstream
git rebase upstream/master
git push origin master
branch, checkout
A feature branch keeps your new contribution neat and tidy.
Doing work on a feature branch helps avoid merge headaches later.
git branch new-feature
git checkout new-feature
git checkout -b new-feature
git status
Pro tip: use it often.
git status
git add
Adds file(s) to the staging area to keep ready before committing changes.
Real world analogy: Boarding an airplane
git add <file(s)>
git status
git commit
Commit file(s) in the staging area to the repo history.
Real world analogy: Airplane takes off with all its passengers
git commit -m'Add commit message.'
git status
git log
Note: The commit exists in the local repo only at this point.
git push
Shares the local commit with a remote repo.
git push origin new-feature
Note: You must have "push" privileges to push to a remote repo.
Another feature
Update the local repo with upstream changes.
Create a new feature branch. Update the origin repo.
git checkout master
git checkout -b another-feature
git fetch upstream
git rebase upstream/master
git push origin another-feature
git add <files>
git commit -m"Add commit message"
git status
git log
git fetch upstream
git rebase upstream/master
git push origin another-feature
• Add changed files to staging area of
local repo.
• Commit changed files to local branch
and repo.
• Update (fetch and rebase) the local repo
with any upstream changes.
• Push feature branch to the origin repo.
Another feature: add, commit, fetch, rebase, push
– A N O N Y M O U S W S C A L U M N I
“Wow! Write, Speak, Code changes lives.
Remember you can go at your pace, ask questions,
make mistakes, learn, and have fun too. Believe.”
C O N T R I B U T E
Y O U R I D E A S M A T T E R . S H A R E T H E M . S U B M I T A P U L L R E Q U E S T.
Fact: Some projects are more welcoming and encouraging than others.
Myth: Your talent, potential, and future success are defined by a maintainer’s
response to your pull request.
Fact: Your PR may be rejected.
Fact: You may need to make changes based on constructive review
comments.
Myth: Maintainers are entitled to belittle a pull request or be crummy to you.
Fact: It’s not you. It’s them. And their loss. Find another project that values
your contribution.
L E T ’ S M A K E A P U L L R E Q U E S T
P re s s T h e P u l l R e q u e s t B u t t o n
C O N T R I B U T E A P R
Wr i t e A M e s s a g e A n d S u b m i t
C O N T R I B U T E A P R
T h e S u b m i t t e d P u l l R e q u e s t
C O N T R I B U T E A P R
P R O U D
P a t i e n c e . M a i n t a i n e r c o m m e n t s o n P R .
M A I N TA I N E R R E V I E W S T H E P R
C o n g r a t u l a t i o n s O n Yo u r C o n t r i b u t i o n !
M A I N TA I N E R M E R G E S T H E P R
Y E S , Y O U C A N G I T !
Y O U D I D I T !
Thank you.
P H O T O S :
C A R O L W I L L I N G , L I N N E A W I L L I N G
Y E S , Y O U C A N G I T !
I N T R O D U C T I O N T O G I T A N D G I T H U B
Carol Willing
@willingcarol
GitHub: willingc
W R I T E S P E A K C O D E
J U N E 1 7 , 2 0 1 6
1 of 37

More Related Content

What's hot(20)

Ankara jug mayıs 2013 sunumuAnkara jug mayıs 2013 sunumu
Ankara jug mayıs 2013 sunumu
Ankara JUG727 views
Online scavengerOnline scavenger
Online scavenger
Justin Rodgers294 views
Berlinsides2017Berlinsides2017
Berlinsides2017
aestetix290 views
Docker TestingDocker Testing
Docker Testing
Alex Soto810 views
Continuous Delivery As CodeContinuous Delivery As Code
Continuous Delivery As Code
Alex Soto1.5K views
Geb for browser automationGeb for browser automation
Geb for browser automation
Jacob Aae Mikkelsen2.2K views
Git branching model_for_tap_teamGit branching model_for_tap_team
Git branching model_for_tap_team
Grzegorz Wilczynski280 views
Sign up githubSign up github
Sign up github
Khem Puthea297 views
react.js - DOM as it was meantreact.js - DOM as it was meant
react.js - DOM as it was meant
wolframkriesing1.1K views
Luke's Prosthetics Presentation, 5thLuke's Prosthetics Presentation, 5th
Luke's Prosthetics Presentation, 5th
The Unquiet Library: Student Work567 views
WTF Is the Semantic Web? IgniteWTF Is the Semantic Web? Ignite
WTF Is the Semantic Web? Ignite
Greg Elin756 views
WTF Is the Semantic Web? - Greg ElinWTF Is the Semantic Web? - Greg Elin
WTF Is the Semantic Web? - Greg Elin
CrisisCommons426 views
GitHub: The Good PartsGitHub: The Good Parts
GitHub: The Good Parts
Rui Wang678 views
Upgrade to Plone 5Upgrade to Plone 5
Upgrade to Plone 5
Philip Bauer2.3K views
Knowledge Graph and Authorrank iss smxKnowledge Graph and Authorrank iss smx
Knowledge Graph and Authorrank iss smx
Gianluca Fiorelli5.3K views

Similar to Yes, you can git!(20)

More from Carol Willing(20)

Machine Learning and JupyterMachine Learning and Jupyter
Machine Learning and Jupyter
Carol Willing285 views
Jupyter and MusicJupyter and Music
Jupyter and Music
Carol Willing1.9K views
JupyterHub + kubernetesJupyterHub + kubernetes
JupyterHub + kubernetes
Carol Willing1.6K views
JupyterHub tutorial at JupyterConJupyterHub tutorial at JupyterCon
JupyterHub tutorial at JupyterCon
Carol Willing3K views
JupyterHub: Learning at ScaleJupyterHub: Learning at Scale
JupyterHub: Learning at Scale
Carol Willing1.8K views
Journey to JupyterJourney to Jupyter
Journey to Jupyter
Carol Willing371 views
Data, decision making, and being humanData, decision making, and being human
Data, decision making, and being human
Carol Willing1.2K views
JupyterHub, User Groups, and YouJupyterHub, User Groups, and You
JupyterHub, User Groups, and You
Carol Willing751 views
Finding your grooveFinding your groove
Finding your groove
Carol Willing806 views
2014 06 16_wearables_sdmakers2014 06 16_wearables_sdmakers
2014 06 16_wearables_sdmakers
Carol Willing1.2K views

Yes, you can git!

  • 1. Y E S , Y O U C A N G I T ! I N T R O D U C T I O N T O G I T A N D G I T H U B Carol Willing @willingcarol GitHub: willingc W R I T E S P E A K C O D E J U N E 1 7 , 2 0 1 6
  • 2. – M A RY O L I V E R “It’s not a competition, it’s a doorway.”
  • 3. C H AT T I N G W I T H F R I E N D S • git • a tool • puts you in charge of source files • GitHub • a service • sharing and collaboration
  • 4. C A L M
  • 5. N A M I N G P L A C E S L O C A L ( Y O U A R E H E R E ) , O R I G I N , U P S T R E A M
  • 6. L O C A L ( Y O U A R E H E R E ) O R I G I N ( Y O U I N T H E C L O U D ) U P S T R E A M ( S O M E W H E R E E L S E I N T H E C L O U D )
  • 7. L O C A L ( g i t ) O R I G I N ( y o u o n G i t H u b ) U P S T R E A M ( o p e n s o u rc e p ro j e c t o n G i t H u b )
  • 8. L O C A L ( g i t ) O R I G I N ( y o u o n G i t H u b ) U P S T R E A M ( o p e n s o u rc e p ro j e c t o n G i t H u b ) remote
  • 9. P E A C E F U L
  • 10. G E T T I N G S TA R T E D S E T T I N G U P T O C O N T R I B U T E T O A N O P E N S O U R C E P R O J E C T
  • 11. Fork an open source project Fork Copies source from upstream to origin
  • 12. Fork an open source project O R I G I N ( y o u o n G i t H u b ) U P S T R E A M ( o p e n s o u rc e p ro j e c t o n G i t H u b ) Click
  • 13. Clone your fork of an open source project to your local computer git clone <url> git status git remote -v
  • 14. Add a remote Let’s create a nickname of the open source project. upstream sounds like a good nickname. git remote -v git remote add upstream <url> git remote -v
  • 15. Fork an open source project Clone your fork of an open source project ~/myprojects/wsc-music https://github.com/<you>/wsc-music https://github.com/gentlecodegarden/wsc-music R E V I E W
  • 16. C O N F I D E N T
  • 17. C R E AT I N G L E T ’ S M A K E S O M E T H I N G F O R T H E P R O J E C T
  • 18. fetch, rebase, push my workflow for keeping things updated git fetch upstream git rebase upstream/master git push origin master
  • 19. branch, checkout A feature branch keeps your new contribution neat and tidy. Doing work on a feature branch helps avoid merge headaches later. git branch new-feature git checkout new-feature git checkout -b new-feature
  • 20. git status Pro tip: use it often. git status
  • 21. git add Adds file(s) to the staging area to keep ready before committing changes. Real world analogy: Boarding an airplane git add <file(s)> git status
  • 22. git commit Commit file(s) in the staging area to the repo history. Real world analogy: Airplane takes off with all its passengers git commit -m'Add commit message.' git status git log Note: The commit exists in the local repo only at this point.
  • 23. git push Shares the local commit with a remote repo. git push origin new-feature Note: You must have "push" privileges to push to a remote repo.
  • 24. Another feature Update the local repo with upstream changes. Create a new feature branch. Update the origin repo. git checkout master git checkout -b another-feature git fetch upstream git rebase upstream/master git push origin another-feature
  • 25. git add <files> git commit -m"Add commit message" git status git log git fetch upstream git rebase upstream/master git push origin another-feature • Add changed files to staging area of local repo. • Commit changed files to local branch and repo. • Update (fetch and rebase) the local repo with any upstream changes. • Push feature branch to the origin repo. Another feature: add, commit, fetch, rebase, push
  • 26. – A N O N Y M O U S W S C A L U M N I “Wow! Write, Speak, Code changes lives. Remember you can go at your pace, ask questions, make mistakes, learn, and have fun too. Believe.”
  • 27. C O N T R I B U T E Y O U R I D E A S M A T T E R . S H A R E T H E M . S U B M I T A P U L L R E Q U E S T.
  • 28. Fact: Some projects are more welcoming and encouraging than others. Myth: Your talent, potential, and future success are defined by a maintainer’s response to your pull request. Fact: Your PR may be rejected. Fact: You may need to make changes based on constructive review comments. Myth: Maintainers are entitled to belittle a pull request or be crummy to you. Fact: It’s not you. It’s them. And their loss. Find another project that values your contribution. L E T ’ S M A K E A P U L L R E Q U E S T
  • 29. P re s s T h e P u l l R e q u e s t B u t t o n C O N T R I B U T E A P R
  • 30. Wr i t e A M e s s a g e A n d S u b m i t C O N T R I B U T E A P R
  • 31. T h e S u b m i t t e d P u l l R e q u e s t C O N T R I B U T E A P R
  • 32. P R O U D
  • 33. P a t i e n c e . M a i n t a i n e r c o m m e n t s o n P R . M A I N TA I N E R R E V I E W S T H E P R
  • 34. C o n g r a t u l a t i o n s O n Yo u r C o n t r i b u t i o n ! M A I N TA I N E R M E R G E S T H E P R
  • 35. Y E S , Y O U C A N G I T ! Y O U D I D I T !
  • 36. Thank you. P H O T O S : C A R O L W I L L I N G , L I N N E A W I L L I N G
  • 37. Y E S , Y O U C A N G I T ! I N T R O D U C T I O N T O G I T A N D G I T H U B Carol Willing @willingcarol GitHub: willingc W R I T E S P E A K C O D E J U N E 1 7 , 2 0 1 6