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
Git勉強会@KRAY
Search
danny
July 06, 2013
Technology
1
2k
Git勉強会@KRAY
danny
July 06, 2013
Tweet
Share
More Decks by danny
See All by danny
Datapiaのフロントエンドについて
f96q
0
490
新規サービスの技術選定と設計
f96q
1
18k
Vue.jsとRailsで作るWebアプリケーション
f96q
0
820
開発環境でDocker使ってみた
f96q
1
2.4k
2013年を振り返って
f96q
0
760
等強Ruby会議10に参加しての感想
f96q
2
950
Inside Tripclip
f96q
2
1.6k
Other Decks in Technology
See All in Technology
一番人に近いコードレビューア CodeRabbit
kinopeee
0
110
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.8k
re:Inventで見つけた「運用を捨てる」技術。
ezaki
1
150
ファシリテーション勉強中 その場に何が求められるかを考えるようになるまで / 20260123 Naoki Takahashi
shift_evolve
PRO
3
400
ドキュメントからはじめる未来のソフトウェア
pkshadeck
4
2k
VRTと真面目に向き合う
hiragram
1
500
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
41k
SMTP完全に理解した ✉️
yamatai1212
0
110
ReproでのicebergのStreaming Writeの検証と実運用にむけた取り組み
joker1007
0
510
新規事業における「一部だけどコア」な AI精度改善の優先順位づけ
zerebom
0
400
EventBridge API Destination × AgentCore Runtimeで実現するLambdaレスなイベント駆動エージェント
har1101
7
270
書籍執筆での生成AIの活用
sat
PRO
1
230
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
210
How STYLIGHT went responsive
nonsquared
100
6k
Designing for Performance
lara
610
70k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
The Curious Case for Waylosing
cassininazir
0
230
Utilizing Notion as your number one productivity tool
mfonobong
2
200
The Pragmatic Product Professional
lauravandoore
37
7.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Crafting Experiences
bethany
1
42
Transcript
Gitษڧձ@KRAY danny גࣜձࣾΫϨΠ 2013 7/5
ࣗݾհ • Blog (http://f96q.github.io/) • ීஈRailsͰWebΞϓϦͷ։ൃΛͬͯ ·͢ • ࠷ۙiPhoneΞϓϦͷ։ൃΛͬͯ·͢
ࣗݾհ Rubyist Magazine 0041߸
ࣗݾհ
ࠓ͢͜ͱ • Gitͷ࣮ફతͳ͍ํ • GitLabʹ͍ͭͯ • Gitͷιʔείʔυղੳ
Gitͷ࣮ફతͳ͍ํ
ҰͭͷϦϙδτϦͰσβΠϯ༻ͷ੩త htmlͱΞϓϦͷιʔείʔυΛཧ͠ ͨΜ͚ͩͲ
orphan branch • ࠜݩ͕ͭͳ͕ͬͯͳ͍ϒϥϯνΛ࡞Ε Δ • git checkout --orphan branch-name
Ͱ͍͍ͪͪσβΠϯ༻ͷϒϥϯνͱ ։ൃ༻ͷϒϥϯνΛΓସ͑ͨ͘ͳ͍ Μ͚ͩͲ
git-new-workdir • ϫʔΩϯάίϐʔΛෳ࣋ͯΔ
rebaseͨ͠Βmergeίϛοτ͕ফ͑ͯ ͠·͏Μ͚ͩͲ
mergeίϛοτΛอ࣋ͨ͠··rebase • git rebase -p branch-name
ϦϞʔτϦϙδτϦʹpush͢Δͱ411 ͕ฦ͖ͬͯͯpushͰ͖ͳ͍Μ͚ͩͲ
• git config http.postBufferͷαΠζΛେ͖ ͘͢Δ
աڈͷίϛοτΛૉૣ͘ಡΈ͍ͨΜͩ ͚Ͳ
ϦϙδτϦϒϥβ •brew install tig
MacͰͬͯΔͱ.DS_StoreΛίϛοτ ͦ͠͏ʹͳΔΜ͚ͩͲ
ίϛοτͷର͔Β֎͢ [core] excludesfile = ~/.gitignore .gitconfig ~/.gitignore .DS_Store
GitLabʹ͍ͭͯ
Gitlabʹ͍ͭͯ • GithubΫϩʔϯ • RailsΞϓϦ • ࣾͩͱGitorious + GitHub͔ΒGitLabʹ •
GitoriousͩͱɺͲͷϢʔβʔͰશ෦ͷϦϙδτϦͷιʔε͕ΈΔ ͜ͱ͕Ͱ͖ͨ • GitHubͩͱϓϥΠϕʔτϦϙδτϦ૿͑Δ΄Ͳ͓͕͔͔ۚΔ
GitLab͍͍ͱ͜Ζ • ಛఆͷϢʔβʔ͚ͩΈΕΔϦϙδτϦ ࡞ΕΔ • ϓϥΠϕʔτϦϙδτϦ࡞Γ์ • merge request •
GitHubʹൺͨΒػೳతʹྼΔͱ͜ Ζ͋Δ͚Ͳͦͦ͑͜͜Δ
GitLabେมͳ͜ͱ • αʔόʔ༻ҙ • ͕ग़ͨΒࣗͨͪͰղܾ͠ͳ͍ͱ ͍͚ͳ͍ • ͬͯΔͱෆ۩߹ʹૺ۰ • sidekickམͪͯΔ
• ϝʔϧ͕ඈͳ͍ • ϦϙδτϦ৽ن࡞ͯ͠࠷ॳͷpushͰ͖ͳ͍
Gitͷιʔείʔυղੳ
GitͷΦϒδΣΫτͷλΠϓ enum object_type { OBJ_BAD = -1, OBJ_NONE = 0,
OBJ_COMMIT = 1, OBJ_TREE = 2, OBJ_BLOB = 3, OBJ_TAG = 4, /* 5 for future expansion */ OBJ_OFS_DELTA = 6, OBJ_REF_DELTA = 7, OBJ_ANY, OBJ_MAX };
Object struct object { unsigned parsed : 1; unsigned used
: 1; unsigned type : TYPE_BITS; unsigned flags : FLAG_BITS; unsigned char sha1[20]; };
bolb struct blob { struct object object; };
tree struct tree { struct object object; void *buffer; unsigned
long size; };
tag struct tag { struct object object; struct object *tagged;
char *tag; unsigned long date; };
commit struct commit { struct object object; void *util; unsigned
int index; unsigned long date; struct commit_list *parents; struct tree *tree; char *buffer; }; struct commit_list { struct commit *item; struct commit_list *next; };
·ͱΊ • σʔλʔߏΈΔ͚ͩͰ͔Δ͜ͱ ͕͋Δ