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.
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: willin...
– 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 an...
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 ...
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 ...
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 ...
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 ...
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 r...
Fork
an open source project
Clone
your fork
of an open source project
~/myprojects/wsc-music
https://github.com/<you>/wsc-...
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 m...
branch, checkout
A feature branch keeps your new contribution neat and tidy.
Doing work on a feature branch helps avoid me...
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 commit
Commit file(s) in the staging area to the repo history.
Real world analogy: Airplane takes off with all its pas...
git push
Shares the local commit with a remote repo.
git push origin new-feature
Note: You must have "push" privileges to ...
Another feature
Update the local repo with upstream changes.
Create a new feature branch. Update the origin repo.
git chec...
git add <files>
git commit -m"Add commit message"
git status
git log
git fetch upstream
git rebase upstream/master
git pus...
– 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 questi...
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 d...
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: willin...
Upcoming SlideShare
Loading in …5
×

Yes, you can git!

1,482 views

Published on

Intro to git and GitHub. Concepts before commands.

Write Speak Code 2016 International Conference

Published in: Software

Yes, you can git!

  1. 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. 2. – M A RY O L I V E R “It’s not a competition, it’s a doorway.”
  3. 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. 4. C A L M
  5. 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. 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. 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. 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. 9. P E A C E F U L
  10. 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. 11. Fork an open source project Fork Copies source from upstream to origin
  12. 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. 13. Clone your fork of an open source project to your local computer git clone <url> git status git remote -v
  14. 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. 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. 16. C O N F I D E N T
  17. 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. 18. fetch, rebase, push my workflow for keeping things updated git fetch upstream git rebase upstream/master git push origin master
  19. 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. 20. git status Pro tip: use it often. git status
  21. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 32. P R O U D
  33. 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. 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. 35. Y E S , Y O U C A N G I T ! Y O U D I D I T !
  36. 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. 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

×