Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Git 101
Dimitris Tsironis
May 24, 2013
Technology
0
190
Git 101
A introductor presentation for Free Friday meetups at Technological Education Institute of Piraeus
Dimitris Tsironis
May 24, 2013
Tweet
Share
More Decks by Dimitris Tsironis
See All by Dimitris Tsironis
tsironis
0
120
tsironis
1
79
tsironis
2
160
tsironis
0
130
tsironis
4
87
tsironis
1
59
tsironis
2
340
tsironis
4
140
tsironis
2
140
Other Decks in Technology
See All in Technology
noir_neo
0
120
hsano
0
120
zaki134rp
1
180
nkjzm
1
810
kawaguti
0
110
humank
0
210
kakka
0
3.3k
vkbaba
0
110
satotakeshi
2
410
harshbothra
0
100
minamizaki
0
540
kanaugust
PRO
0
210
Featured
See All Featured
marktimemedia
6
330
sstephenson
144
12k
orderedlist
PRO
329
35k
edds
56
9.3k
gr2m
83
11k
kneath
294
39k
denniskardys
220
120k
chriscoyier
145
19k
sachag
267
17k
dotmariusz
94
5.1k
chriscoyier
499
130k
rmw
11
740
Transcript
Git 101 FreeFriday @ Teipir
Real quick...
Free Fridays Discuss about technology and stuff Learn new things
and stay up-to-date Get better at what we do Enrich our education
Dimitris Tsironis Front-end Engineer at BugSense, JavaScript lover || hater,
Open-source & (Coffee)Script addict, Technology afficcionado
Source Control Management Keep your code organized in repositories Enhance
contributing Source versioning
Git Distributed Version Control System (DVCS)
Git Created by Linus Torvalds [2005] Written (mostly) in C
and Shell
Why distributed? Every developer gets a copy of the repo
Make your contributions really fast Work offline
Git installation sudo apt-get install git [Ubuntu] brew install git
[OSX] http://bit.ly/14Gqzyp [Windows]
Creating a repository $ mkdir -p ~/gitff/lecture1 $ cd ~/gitff/lecture1
$ git init
Now your folder is a git repository
Start coding! or whatever
Write some code Create a text file (touch readme.txt) Add
your name inside the file
Cool story bro! but how can I update my repo?
Commit A set of changes
The staging area All the modified/added/deleted files that are going
to be commited
git status # On branch master # # Initial commit
# # Untracked files: # (use "git add <file>..." to include in what will be committed) # # readme.txt nothing added to commit but untracked files present (use "git add" to track)
Add readme to stage git add readme.txt This command adds
readme.txt (or changes in readme.txt) to staging area
Alternative adding all files to stage git add --all This
command adds (add) all (deleted/ created/modified) files to staging area
git status # On branch master # # Initial commit
# # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: readme.txt #
Commit changes git commit -m “Initial Commit” This command creates
the commit containing the staged changes
Now add your email to readme.txt
How can I get my code to the web?
Github (Hosted) Bitbucket (Hosted) GitLab (Private) And may others
Github a web-based hosting service for software development projects that
use Git Written in Ruby on Rails and Erlang Running since 2008
Creating a new Github Repository
None
None
The remote (origin) The git path to remote repository (usually
called origin)
Add remote to local repository git remote add origin your_remote
This command adds a remote to a remote repository
git remote -v Show my remotes
Push pushing commits to remote repository
Push changes to remote repository git push origin master We
will only use master branch for the time being
Pull pulling commits from remote repository
Pull changes from remote repository git pull origin master We
will only use master branch for the time being
Clone Get a copy of a repository
Cloning a repository $ cd $ git clone https://github.com/FreeFriday/ my_first_repo.git
angels_first_repo $ cd angels_first_repo $ ls -l
Thanks! @tsironakos