Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Collaborating with Git and GitHub - Girl Develo...
Search
Steven Loria
October 01, 2018
Programming
0
87
Collaborating with Git and GitHub - Girl Develop It Central VA
Slides for the Git/GitHub workshop for Girl Develop It Central VA
Steven Loria
October 01, 2018
Tweet
Share
More Decks by Steven Loria
See All by Steven Loria
marshmallow for data validation and serialization
sloria
0
460
Other Decks in Programming
See All in Programming
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
570
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
CSC307 Lecture 09
javiergs
PRO
1
840
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
SourceGeneratorのススメ
htkym
0
200
CSC307 Lecture 04
javiergs
PRO
0
660
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
120
並行開発のためのコードレビュー
miyukiw
0
120
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.5k
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.3k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.1k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Embracing the Ebb and Flow
colly
88
5k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Exploring anti-patterns in Rails
aemeredith
2
250
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Site-Speed That Sticks
csswizardry
13
1.1k
Building AI with AI
inesmontani
PRO
1
690
Designing for Performance
lara
610
70k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
Transcript
Collaborating with git and GitHub Happy Hacktoberfest!
Set up 4 Create a GitHub account 4 Install and
set up git https://help.github.com/articles/set-up-git/ 4 In Terminal or Powershell: cd ~ mkdir projects cd projects
Welcome! Girl Develop It is here to provide affordable and
accessible programs to learn software through mentorship and hands-on instruction.
Some "rules" 4 We are here for you! 4 Every
question is important 4 Help each other 4 Have fun
Welcome! 4 Who are you? 4 Last meal you made?
4 OPTIONAL: What drew you to take this class?
Collaborating with git and GitHub 4 Distributed version control 4
GitHub 4 Hands-on
git 4 Version control 4 Code provenance
Like infinite save games!!!
None
And each save point tells a story
git is Collaborative
git is Distributed
Centralized vs. Distributed
Centralized
Centralized (svn) 4 Everybody works on same copy of project
4 Saving and sharing happen in the same step
None
Distributed (git)
Distributed VCS (git) 4 Everybody gets a copy 4 Sync
when you want to (merge copies) 4 Separates saving from sharing 4 Bonus: Lots of backups
GitHub
GitHub Where projects and their histories ("repos") are stored
https://github.com/GirlDevelopItCentralVA/gdi- centralva-directory
Workflow
None
Fork Make your copy on GitHub https://github.com/GirlDevelopItCentralVA/gdi- centralva-directory
None
Clone Download your copy from GitHub to your computer
None
$ git clone https://github.com/sloria/gdi-centralva-directory.git $ cd gdi-centralva-directory
None
Remotes
Remotes remote = name for a copy on GitHub Example:
"origin" is the name of the repo you cloned from
List your remotes $ git remote -v origin https://github.com/sloria/gdi-centralva-directory.git (fetch)
origin https://github.com/sloria/gdi-centralva-directory.git (push)
Remotes By convention: 4 "origin" = Your fork (sloria/gdi-centralva-directory) 4
"upstream" = The original version (GirlDevelopItCentralVA/gdi-centralva-directory)
Add a remote Add "upstream" as a remote
None
$ git remote add upstream https://github.com/GirlDevelopItCentralVA/gdi-centralva-directory.git
$ git remote -v origin https://github.com/sloria/gdi-centralva-directory.git (fetch) origin https://github.com/sloria/gdi-centralva-directory.git (push)
upstream https://github.com/GirlDevelopItCentralVA/gdi-centralva-directory.git (fetch) upstream https://github.com/GirlDevelopItCentralVA/gdi-centralva-directory.git (push)
None
Branches
A branch is a storyline
A branch is a storyline Example branch names: "fix-ui-bug", "add-more-docs"
List your branches $ git branch * master
Create a branch $ git branch add-steve-json
$ git branch add-steve-json * master
Switch branches $ git checkout add-steve-json $ git branch *
add-steve-json master
Add a File people/steve-loria.json { "name": "Steve Loria", }
See changed/added files
Stage the file Add file(s) that we want to save
$ git add .
None
Commit Save your changes git commit -m "Add my info"
None
Make more changes people/steve-loria.json { "name": "Steve Loria", "twitter": "sloria1",
"github": "sloria", "personal": "https://stevenloria.com" }
Review your changes
None
Stage the file Add the file $ git add .
None
Commit Save your changes git commit -m "Add more of
my info"
View Commit Logs $ git log
None
Push to your Fork Get your local changes onto your
fork on GitHub $ git push origin add-steve-json
On your fork on GitHub...
Send a Pull Request Request that your changes get incorporated
None
Pulling upstream changes Sync your local repo with other people's
changes $ git pull upstream master
None
Use git for everything
Git is not just for code Writing, data, design projects
Use git when you care about history
Use git for everything
Happy Hacktoberfest!