Upload
papp-laszlo
View
432
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Git - Step by step
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Goal
We would like to make snapshotsof the university thesis.
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Thesis
images/
univ_logo.png
main_page.tex
introduction.tex
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Create backup
images
univ_logo.png
main_page.tex
introduction.tex
copy
backup
2011-09-11
2011-10-01_images_ready
2011-11-22_release
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Later...
images
univ_logo.png
main_page.tex
introduction.tex
images
univ_logo.png
cover_image.png
main_page.tex
introduction.tex
first_chapter.tex
2011-10-01_images_ready 2011-09-11
time
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
++size
backup/
2011-09-11 [300 bytes]
2011-10-01_images_ready [228 kbytes]
2011-11-22_release [500 kbytes]
time
Sum: 728 kbytes
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Changes by the time...
images
univ_logo.png
main_page.tex
introduction.tex
images
univ_logo.png
cover_image.png
main_page.tex
introduction.tex
first_chapter.tex
2011-10-01_images_ready 2011-09-11
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Optimizing
images
univ_logo.png
main_page.tex
introduction.tex
2011-10-01_kepek_kesz 2011-09-11
images
univ_logo.png
cover_image.png
main_page.tex
introduction.tex
first_chapter.tex
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Transparency
images
univ_logo.png
main_page.tex
introduction.tex
images
cover_image.png
main_page.tex
first_chapter.tex
2011-10-01_kepek_kesz
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Transparency
images
univ_logo.png
main_page.tex
introduction.tex
images
cover_image.png
main_page.tex
first_chapter.tex
2011-10-01_kepek_kesz
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Stage
images
univ_logo.png
main_page.tex
introduction.tex
2011-10-01_images_ready 2011-09-11
images
univ_logo.png
cover_image.png
main_page.txt
introduction.tex
first_chapter.tex
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Commit
images
univ_logo.png
main_page.tex
introduction.tex
2011-10-01_images... 2011-09-11
images
univ_logo.png
cover_image.png
main_page.tex
introduction.tex
first_chapter.tex
TitleDateStage
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Commits
List
head
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Structure
head
Stage { ... // changed files }
Commit { Date date; String title; Stage * stage; Commit * parent; }
Commit * head;
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Operations Stage { ... // changed files }
Commit { Date date; String title; Stage * stage; Commit * parent; }
Commit * head;head = 0; // beginning
git_commit(Stage * stage, String title){ Commit * commit = new Commit;
commit->date = date(); commit->title = title; commit->stage = stage; commit.parent = head;
head = commit;}
head
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Operations Stage { ... // changed files }
Commit { Date date; String title; Stage * stage; Commit * parent; }
Commit * head;head = 0; // beginning
git_commit(Stage * stage, String title){ Commit * commit = new Commit;
commit->date = date(); commit->title = title; commit->stage = stage; commit.parent = head;
head = commit;}
head
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Process
stage = new Stage;stage->add("/README.txt");
git_commit(stage, "init repo");
stage = new Stage;stage->add("/README.txt");stage->add("/main.cpp");
git_commit(stage, "Added main.cpp");
git init // head = 0
git add README.txt
git commit -m “init repo”
git add “README.txt”
git add “main.cpp”
git commit -m “Added main.cpp”
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
head
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
List
Directed Tree
Directed Graph<
<
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Directed tree
head
Commits
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Checkout
// means change the head
git_checkout(Commit * commit){ head = commit;}
git_checkout(0x45F34FE2)
head
???????
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Branches
Commit * master;Commit * branch1;
git_checkout(branch1) <=> head = branch1
branch1
master
head
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Tags
Commit * const tag1;Commit * const tag2;
git_checkout(tag1) <=> head = tag1
tag1 tag1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Synchronizingbranch1
master
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Pickbranch1
master
branch1
git cherry-pick [commit_id]
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Pickbranch1
master
branch1
git cherry-pick [commit_id]
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Rebase
building new base
rebase master to branch1
branch1
master
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
master
git rebase branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
master
git rebase branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
!= branch1
master
git rebase branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
git rebase branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
git rebase branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
git rebase branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
git rebase branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
master
git rebase branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Merge
branch1
master
git merge branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Merge
branch1
master
git merge branch1
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Backup?
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Backup?
PenDrive
SSH
D:\NFS
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Backup?
PenDrive
SSH
D:\NFS
Amazon Storage
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Sharing?
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Sharing?
FTP
Samba
HTTP
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
List
Directed Tree
Directed Graph<
<
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
master
Directed Graph
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
branch1
master
Directed Graph
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Directed Graph
bm
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Directed Graph
bm
bm
bm
bm
SSHHTTP
Github
Local
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Directed Graph
bm
bm
bm
bm
SSHHTTP
Github
Local
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Git remote
bm
bm
bm
bm
SSHhttp
github
Local
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Git remote
bm
bm
github
Local
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
www.github.com
bm
github
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Clone
git clone [email protected]:Nucc/check.it.git
bm
githubbm
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Clone
git clone [email protected]:Nucc/check.it.git
bm
github
Local
originbm
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
More remotes
bm
local
bm
github
bm
http
git remote -a http://nucc.balabit.hu/diploma weblap
origin
webpage
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Operations
bm
local
bm
push
pull
github
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Operations
bm
local
bm
push
pull
github
git pull origin/master
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Operations
bm
local
bm
push
pull
github
git pull origin/master
git push origin master
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Here and there...
bm
local
bm
backup
restore
github
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Here and there...
bm
local
bm
backup
restore
github
git reset --hard origin/master
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Here and there...
bm
local
bm
backup
restore
github
git reset --hard origin/master
git push -f origin master
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
bm
bm
bm bm
bm
bm
bm
bm
bm
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
bm
bm
bm bm
bm
bm
bm
bm
bm
Balabit Open Academy, Veszprém, Nov 30, 2011 twitter.com/nucc
?twitter.com/nucc