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 Develop It Central VA
Search
Steven Loria
October 01, 2018
Programming
0
82
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
390
Other Decks in Programming
See All in Programming
Productivity is Messing Around and Having Fun
hollycummins
1
170
RaaP
ksss
0
140
An adventure of Happy Eyeballs
coe401_
1
130
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
5
2.6k
TypeScriptから始める VR生活
tamagokakeg
2
110
Open standards for building event-driven applications in the cloud
meteatamel
0
210
RailsConf 2024: Riffing on Rails: sketch your way to better designed code
kaspth
0
200
Implementing Design Systems in Swift
seyfoyun
2
520
Criando a Woovi em uma semana
daniloab
0
120
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
140
WebGLで始める コンピュータグラフィックス入門
heller77
0
370
The Cutting Edge Of Versioning (LambdaConf 2024)
chriskrycho
0
250
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
43
12k
The Pragmatic Product Professional
lauravandoore
26
5.9k
Navigating Team Friction
lara
179
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
15
1.6k
GitHub's CSS Performance
jonrohan
1025
450k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Web Components: a chance to create the future
zenorocha
306
41k
Music & Morning Musume
bryan
41
5.6k
A Modern Web Designer's Workflow
chriscoyier
689
190k
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!