Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Ikuo Degawa
1,422 views
テーマ別Git tips
Engineering
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 51
2
/ 51
3
/ 51
4
/ 51
5
/ 51
6
/ 51
7
/ 51
8
/ 51
9
/ 51
10
/ 51
11
/ 51
12
/ 51
13
/ 51
14
/ 51
15
/ 51
16
/ 51
17
/ 51
18
/ 51
19
/ 51
20
/ 51
21
/ 51
22
/ 51
23
/ 51
24
/ 51
25
/ 51
26
/ 51
27
/ 51
28
/ 51
29
/ 51
30
/ 51
31
/ 51
32
/ 51
33
/ 51
34
/ 51
35
/ 51
36
/ 51
37
/ 51
38
/ 51
39
/ 51
40
/ 51
41
/ 51
42
/ 51
43
/ 51
44
/ 51
45
/ 51
46
/ 51
47
/ 51
48
/ 51
49
/ 51
50
/ 51
51
/ 51
More Related Content
PDF
Git勉強会
by
Masaaki Kakimoto
PDF
ておくれないgit
by
rkmathi
PDF
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
by
naoki koyama
PPTX
オープンセミナー香川2012 LT
by
Kouta Imanaka
PDF
01.app
by
Takenori Nakagawa
PPTX
ゼミGit
by
Takuya Uehara
ODP
底辺webプログラマが今更git語ってみた
by
Yudai Fujita
PDF
GitとGitHubによる chordのバージョン管理 for バンドマン
by
Ryu Seino
Git勉強会
by
Masaaki Kakimoto
ておくれないgit
by
rkmathi
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
by
naoki koyama
オープンセミナー香川2012 LT
by
Kouta Imanaka
01.app
by
Takenori Nakagawa
ゼミGit
by
Takuya Uehara
底辺webプログラマが今更git語ってみた
by
Yudai Fujita
GitとGitHubによる chordのバージョン管理 for バンドマン
by
Ryu Seino
What's hot
PDF
IPAmj明朝の漢字を検索
by
Ryusei Yamaguchi
PDF
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
by
infinite_loop
PDF
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
by
shoma h
PDF
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
by
Yuta Ohashi
PDF
スクレイピングとPython
by
Hironori Sekine
PDF
Qt小技(修正版)
by
hermit4 Ishida
PDF
Gitを使ったRoute53の管理
by
Sugawara Genki
PDF
Gitを使いこなしてみよう!
by
Hiroshi Maekawa
PDF
30分でサボれるGit
by
Takeshi Kimura
PPTX
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
by
Study Group by SciencePark Corp.
PPTX
LT 手作りGit
by
hiroki tanaka
PDF
Dentoo.LT #3 超やさしい Git Hooks
by
Dong Oi
PDF
Hubotで遊ぶ
by
treby
PDF
Groovy base
by
Akura Pi
PDF
GitHub Travis-CI Go!
by
Takenori Nakagawa
PDF
PyPy 紹介
by
shoma h
PDF
プロ生ちゃんbotを作ろう!
by
treby
PDF
OSS Study#19_LT
by
NaoY-2501
PDF
Q planet
by
hermit4 Ishida
PDF
MT東京 ぱくたそ/PAKUTASO
by
regret raym
IPAmj明朝の漢字を検索
by
Ryusei Yamaguchi
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
by
infinite_loop
Pythonista による Pythonista のための Scala 紹介 in BPStudy #49
by
shoma h
WindowsでもVagrantとChefでLaravelのローカル環境を(自分で)つくりたい!
by
Yuta Ohashi
スクレイピングとPython
by
Hironori Sekine
Qt小技(修正版)
by
hermit4 Ishida
Gitを使ったRoute53の管理
by
Sugawara Genki
Gitを使いこなしてみよう!
by
Hiroshi Maekawa
30分でサボれるGit
by
Takeshi Kimura
git初心者からgit-flowを使えるレベルになって、リリースとレビューを効率化しよう
by
Study Group by SciencePark Corp.
LT 手作りGit
by
hiroki tanaka
Dentoo.LT #3 超やさしい Git Hooks
by
Dong Oi
Hubotで遊ぶ
by
treby
Groovy base
by
Akura Pi
GitHub Travis-CI Go!
by
Takenori Nakagawa
PyPy 紹介
by
shoma h
プロ生ちゃんbotを作ろう!
by
treby
OSS Study#19_LT
by
NaoY-2501
Q planet
by
hermit4 Ishida
MT東京 ぱくたそ/PAKUTASO
by
regret raym
Viewers also liked
PDF
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
by
Taiji Tsuchiya
PDF
こわくない Git
by
Kota Saito
PDF
集合知プログラミング勉強会 第五章 最適化
by
Ikuo Degawa
PDF
いつやるの?Git入門
by
Masakazu Matsushita
PDF
機会学習ハッカソン:ランダムフォレスト
by
Teppei Baba
PDF
集合知プログラミング勉強会 7章(前半)
by
koba cky
PDF
言葉のデザイン
by
Asuya Kohno
ネットワーク運用自動化の実際〜現場で使われているツールを調査してみた〜
by
Taiji Tsuchiya
こわくない Git
by
Kota Saito
集合知プログラミング勉強会 第五章 最適化
by
Ikuo Degawa
いつやるの?Git入門
by
Masakazu Matsushita
機会学習ハッカソン:ランダムフォレスト
by
Teppei Baba
集合知プログラミング勉強会 7章(前半)
by
koba cky
言葉のデザイン
by
Asuya Kohno
Similar to テーマ別Git tips
PDF
15分でわかるGit入門
by
to_ueda
PDF
実践 Git - 低レベルに知る Git
by
Youhei Nitta
PPT
SVN経験者のためのGIT入門
by
AimingStudy
PDF
Git勉強会 2016 Gitで卒論を管理しよう回
by
kinme modoki
PDF
Gitのよく使うコマンド
by
YUKI Kaoru
PDF
Gitの使い方あれこれ
by
よしだ あつし
PPTX
Git勉強会
by
Tomoki Oyamatsu
PDF
Gitのいいところ
by
kyanro
PDF
Git勉強会
by
masahiro_minami
PPT
Githubことはじめ
by
tikitikipoo
PDF
Git
by
YushiroDodo
KEY
20120324 git training
by
Takeshi AKIMA
PDF
Gitとちょっと仲良くなるために覚えたことまとめ
by
Natsumi Kashiwa
PDF
git 初めの一歩
by
Shin Yoshida
KEY
Gitを使ってみませんか
by
Atsuhiro Takiguchi
PPTX
Git 勉強会
by
kinme modoki
PDF
Gitを理解するためにおさえておきたい3つの図(工事中)
by
Teloo
PDF
はじめてのGit
by
Seiichiro Mishiba
KEY
Git (実践入門編)
by
Naomichi Yamakita
KEY
20120516 第7回ウフィカ社内ハンズオン Git基礎
by
Makoto Yamazaki
15分でわかるGit入門
by
to_ueda
実践 Git - 低レベルに知る Git
by
Youhei Nitta
SVN経験者のためのGIT入門
by
AimingStudy
Git勉強会 2016 Gitで卒論を管理しよう回
by
kinme modoki
Gitのよく使うコマンド
by
YUKI Kaoru
Gitの使い方あれこれ
by
よしだ あつし
Git勉強会
by
Tomoki Oyamatsu
Gitのいいところ
by
kyanro
Git勉強会
by
masahiro_minami
Githubことはじめ
by
tikitikipoo
Git
by
YushiroDodo
20120324 git training
by
Takeshi AKIMA
Gitとちょっと仲良くなるために覚えたことまとめ
by
Natsumi Kashiwa
git 初めの一歩
by
Shin Yoshida
Gitを使ってみませんか
by
Atsuhiro Takiguchi
Git 勉強会
by
kinme modoki
Gitを理解するためにおさえておきたい3つの図(工事中)
by
Teloo
はじめてのGit
by
Seiichiro Mishiba
Git (実践入門編)
by
Naomichi Yamakita
20120516 第7回ウフィカ社内ハンズオン Git基礎
by
Makoto Yamazaki
Recently uploaded
PDF
krsk_aws_re-growth_aws_devops_agent_20251211
by
uedayuki
PPTX
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
by
rintakano624
PDF
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
by
Masahiro Takechi
PDF
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
by
dots.
PDF
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
by
yohakugiken
PDF
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
by
dots.
krsk_aws_re-growth_aws_devops_agent_20251211
by
uedayuki
君をむしばむこの力で_最終発表-1-Monthon2025最終発表用資料-.pptx
by
rintakano624
2025/12/12 AutoDevNinjaピッチ資料 - 大人な男のAuto Dev環境
by
Masahiro Takechi
ソフトウェアエンジニアがクルマのコアを創る!? モビリティの価値を最大化するソフトウェア開発の最前線【DENSO Tech Night 第一夜】
by
dots.
音楽アーティスト探索体験に特化した音楽ディスカバリーWebサービス「DigLoop」|Created byヨハク技研
by
yohakugiken
ソフトとハードの二刀流で実現する先進安全・自動運転のアルゴリズム開発【DENSO Tech Night 第二夜】 ー高精度な画像解析 / AI推論モデル ...
by
dots.
テーマ別Git tips
1.
テーマ別 git Tips! デザインアカデミー
2014/5/25
2.
自己紹介 • 出川幾夫 (Degawa,
Ikuo) • 慶應大学院理工学研究科 M2 • スローガンでインターンしてます(エンジニア • 15年からレバレジーズに勤務 • Apple信者 • 好きなアイドル:東條希 Twitter @ikuwow Facebook: hashiki.ikuwow
3.
今日は・・・ • gitをつかっていてよくある困るシーンがあり ます • そんなシーン別にgitをどう操作すれば良いの かを説明します!
4.
gitを使っていて現れるシーン 1. 「やべっ、消しちゃった!」 2. 「この行何?誰がこんなコード書いたの?」or「いつ俺こ んなの書いたっけ?」 3.
「このクラス名ってどこでどれぐらい使われてる?」 4. 「この修正、前のコミットにいれたかったなあ」 5. 「パスワードを入れたファイルをgithubに公開して た・・・・(^ω^;;;)」
5.
何でもは知りません 知ってることだけ。
6.
はじめまーす! 適当なリポジトリでいじりながらやりましょ う。
7.
その1 「やべっ、あのファイル消しちゃった!」 「やべっ、編集しなきゃよかった!」 「全てを元に戻したい・・・」
8.
どんなとき? • 変な編集してわけわけわかんなくなった。最 後にコミットした時に戻りたい。 • 前々回のコミットに戻したい・・。
9.
git reset • リポジトリ、インデックスを戻す •
git reset --hard • git reset --soft • git reset --mixed (デフォルト)
10.
git reset --hard: 指定のコミットまで完全リセット $
git reset --hard ### コミットを指定しないとHEADが指定される !
11.
ワーキングツリー インデックス リポジトリ ファイル1 ファイル2 ファイル3 ファイル1 ファイル2 ファイル1 ワーキングツリー
インデックス リポジトリ ファイル1 ファイル2 ファイル3 ファイル1 ファイル2 ファイル1 git reset --hard (ステージング) ←git管理下に無い(untracked)ので変更なし
12.
git reset --soft: HEADのみを前回のコミットに戻す $
git reset --soft
13.
ワーキングツリー インデックス リポジトリ ファイル1 ファイル2 ファイル3 ファイル1 ファイル2
ファイル1 ワーキングツリー インデックス リポジトリ ファイル1 ファイル2 ファイル3 ファイル1 ファイル2 ファイル1 git reset --soft HEAD (ステージング) HEAD ファイル1 HEAD ファイル1 ORIG_HEAD HEAD
14.
git reset --mixed: HEADとインデックスを指定したコ ミットに変更 $
git reset --mixed
15.
ワーキングツリー インデックス リポジトリ ファイル1 ファイル2 ファイル3 ファイル1 ファイル2
ファイル1 ワーキングツリー インデックス リポジトリ ファイル1 ファイル2 ファイル3 ファイル1 ファイル1 git reset --mixed HEAD (ステージング) HEAD ファイル1 HEAD ファイル1 ORIG_HEAD HEAD :未変更 :変更あり
16.
間違えてgit reset --hard しちゃたら $
git reset --hard ORIG_HEAD ! # 万事解決
17.
git reflog: HEADの指してきたコミットの履歴を 見る $ git
reflog 48585a2 HEAD@{0}: commit: phpのパスを変更、php53に 2faa5b5 HEAD@{1}: commit (merge): merged. bb8e098 HEAD@{2}: checkout: moving from lablab to master df46799 HEAD@{3}: checkout: moving from master to lablab bb8e098 HEAD@{4}: commit: vim-fugitiveをインストール c72ed79 HEAD@{5}: clone: from ssh://git@ikuwow.com:26457/home/git/ repos/dotfiles.git
18.
注意 • 未コミットの変更は消えます( --hard) •
どこがリセットされるのかをきちんと確認し ておきましょう • 複数人で開発しているときにgit resetしまくる とわけわかんなくなりがちなので、git revert を使いましょう
19.
その2 「この行何?誰が書いたの?」 「これ書いたのいつだっけ?」
20.
git blame • 犯人探しに使えるコマンド! •
指定の行を誰がいつ変更したかがわかる!
21.
git blame [ファイル名] 最後に編集された履歴を追跡する $
git blame test.sh ! $ git blame -s test.sh ## 短いblame ! $ git blame -L 3,7 test.sh ## 3行目から7行目のblameを表示
22.
例
23.
tigコマンドなんかもオススメ $ brew install
tig ! $ tig blame test.sh
24.
その3 「このクラス名使ってるのどれぐらいあ るんだろう?」 「この変数どこで使ってる?」
25.
どんなとき? • CSSゴリゴリ書いてるけど、このクラス名orID を使ってるとこってどれぐらいあるの? • このグローバル変数
or 定数どこで使われて る?
26.
git grep [文字列] •
git管理下のファイルの全ての行を検索して、 指定の文字のある行を表示させる • Unixコマンドのgrepの拡張 • Unixコマンドのgrepより圧倒的に早い!
27.
git grep $ git
grep -n navbar # “navbar”を行を検索、表示 ! # 行番号をデフォルトで表示させたいならこれ $ git config --global grep.lineNumber true ! $ git grep -n -C 3 navbar # -Cでマッチした行の上下3行まで表示 !
28.
注意点 • git管理下のファイルしか検索できない (untrackedなファイルは検索できない) • UNIXコマンドのgrepと違うところが多かった りする。
29.
その4 「途中で別のブランチの 編集したいなあ・・」
30.
どんなとき? • いまの開発より優先度の高いタスクが発生し て、別のブランチの作業に移りたいけど、い まcommitするタイミングじゃないし、どうし よう
31.
git stash • コミットしていない状態のコードをとりあえ ず別の場所に補完しておくコマンド •
リモートから変更をpullするとコンフリクトが 発生しちゃう場合にも便利
32.
git stash save: 未コミットの状態を 一時的にキューに保存する $
git status -s M data ! $ git stash # git stash saveと同じ $ git stash save ! $ git stash save teststash # teststashという名前でstashを保存 !
33.
その他 git stash $
git stash list ! $ git stash pop ! $ git stash apply ! $ git stash drop 2faa5b5 ! $ git stash clear
34.
注意 • 濫用に注意(簡単に消せちゃうし) • git
stash clear
35.
その5 いつの間にかパスワードを含んだファ イルをgithubに上げてた・・・。
36.
どんなとき? • dotfilesを管理してるんだけど、何ヶ月も 前から.ssh/がgit管理されてしまってい た・・・。しかもgithubに上げて る・・・。id_rsa(秘密 )が・・・・。 •
全てのコードを生まれる前に消し去りた い。すべての宇宙、過去と未来の全ての コードをこの手で。
37.
git filter-branch • 過去のコミット全てに対して変更を行って再 コミットするコマンド •
超便利かつ超危険 DANGER!
38.
git filter branchを使って 過去から今までの全ての ファイルを消す手順 $
git filter-branch --tree-filter 'rm -f .ssh’ HEAD # 全てのファイルから.sshディレクトリを削除 $ git branch * master $ git gc # diff等に表示されないよう削除 $ git push -f origin master
39.
注意 • 本当に歴史が全部変更されます。全部消えま す。 • リモートリポジトリのどこかに残っていない 限り、取り消しできません。
40.
まとめ • git reset •
git blame • git grep • git stash • git filter-branch, git push -f
41.
気になったらマニュアルを 見ましょう $ man git-reset ! $
man git-rm
42.
「まったく、gitは最高だぜ」
43.
おわり Thank you!
44.
以下補足スライド ・・・ゴミスライドとも言う
45.
「すごく小さい修正したけど、 これ前のコミットに入れたかっ たなあ・・」
46.
git commit --amend $
git commit --amend
47.
このスライドテンプレートは • azusa • 大体いい感じになるKeynoteテンプレート 「Azusa」作った http://memo.sanographix.net/post/ 82160791768
48.
オススメgit本 • gitによるバージョン 管理(オーム社) • 結構かため。コマン ドライン使えること が前提。 •
ナチュラルにgitのこ とが書いてある印象
49.
さらにやるとすれば • (git cherrypick) •
(git rebase -i ~10) • (git reflog) • (git config alias)
50.
「いちいちブランチ名を打ち こむの面倒くさいんですけ ど・・・」
51.
git-completion.bash • https://github.com/git/git/tree/master/ contrib/completion • これを.bashrc等に追加すればTabキーでコマ ンド・branch名等が補完できるようになる!
Download