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
infinite_loop
PDF, PPTX
3,696 views
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
1月29日にインフィニットループ社内勉強会で使用した、git入門用スライドです。
Technology
◦
Read more
3
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 32
2
/ 32
3
/ 32
4
/ 32
5
/ 32
6
/ 32
7
/ 32
8
/ 32
9
/ 32
10
/ 32
11
/ 32
12
/ 32
13
/ 32
14
/ 32
15
/ 32
16
/ 32
17
/ 32
18
/ 32
19
/ 32
20
/ 32
21
/ 32
22
/ 32
23
/ 32
24
/ 32
25
/ 32
26
/ 32
27
/ 32
28
/ 32
29
/ 32
30
/ 32
31
/ 32
32
/ 32
More Related Content
PPTX
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
by
sairoutine
PDF
Hubotで遊ぶ
by
treby
KEY
hubotで快適BOT生活
by
Kazufumi Otani
PDF
プロ生ちゃんbotを作ろう!
by
treby
PPTX
Touhou Project on JavaScript
by
sairoutine
PDF
Webフレームワークパネル(Django) at PyConJP 2012
by
makoto tsuyuki
PPTX
Hubotを使ってbotをつくろう!
by
Daisuke Kikuchi
PDF
Hubotをはじめる
by
nasa9084
Slack + Hubot でお前の一番好きな二次元嫁キャラと一緒に仕事をする
by
sairoutine
Hubotで遊ぶ
by
treby
hubotで快適BOT生活
by
Kazufumi Otani
プロ生ちゃんbotを作ろう!
by
treby
Touhou Project on JavaScript
by
sairoutine
Webフレームワークパネル(Django) at PyConJP 2012
by
makoto tsuyuki
Hubotを使ってbotをつくろう!
by
Daisuke Kikuchi
Hubotをはじめる
by
nasa9084
What's hot
PDF
hubot-slack v4移行時のハマりどころ #hubot_chatops
by
knjcode
PDF
こわくないPython その2- ファイナルファンタジーとグレンラガンで学ぶOOP
by
Katsuya Arai
PDF
Vimとctagsでコードリーディング 公開用
by
Kenta Kase
PDF
こわくないPython
by
Katsuya Arai
ODP
stapy#23 LT
by
NaoY-2501
PDF
Btrfsで壊してもいい環境づくり
by
jo7oem
PDF
C# から Ruby に乗り換えた
by
Hideaki Miyake
PPTX
chrome拡張機能で ブラウザにp5jsを召喚!
by
takaguru
PDF
Blenderソースコードリーディング
by
Tetsuo Mitsuda
PDF
こわくない Git
by
Kota Saito
PDF
2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。
by
Yuta Hayakawa
PPTX
Bottle使ってPython学習一緒にはじめませんか?
by
Tatsuya Shinozuka
PPTX
ググリワードを探す話
by
toru ishikawa
PPTX
Azureでのプレゼン
by
Fukuda Takuro
PDF
2015/07/11 第7回G-Study発表資料-ITエンジニアのためのDTM入門
by
Yuta Hayakawa
PDF
RubyConfの話の続きのおはなし
by
yamanekko
PPTX
Pynyumon03 LT
by
drillan
PDF
とあるぼっち開発者の憂鬱とGit
by
Seiichiro Mishiba
PPTX
ウェブエンジニアとしての1年目を振り返って
by
Kohki Yamagiwa
PPTX
jTthree V3 technical preview
by
Masaki Yamamoto
hubot-slack v4移行時のハマりどころ #hubot_chatops
by
knjcode
こわくないPython その2- ファイナルファンタジーとグレンラガンで学ぶOOP
by
Katsuya Arai
Vimとctagsでコードリーディング 公開用
by
Kenta Kase
こわくないPython
by
Katsuya Arai
stapy#23 LT
by
NaoY-2501
Btrfsで壊してもいい環境づくり
by
jo7oem
C# から Ruby に乗り換えた
by
Hideaki Miyake
chrome拡張機能で ブラウザにp5jsを召喚!
by
takaguru
Blenderソースコードリーディング
by
Tetsuo Mitsuda
こわくない Git
by
Kota Saito
2015/10/17 第10回G-Study発表資料-あの日見たgit_hubなstarを君達はまだ知らない。
by
Yuta Hayakawa
Bottle使ってPython学習一緒にはじめませんか?
by
Tatsuya Shinozuka
ググリワードを探す話
by
toru ishikawa
Azureでのプレゼン
by
Fukuda Takuro
2015/07/11 第7回G-Study発表資料-ITエンジニアのためのDTM入門
by
Yuta Hayakawa
RubyConfの話の続きのおはなし
by
yamanekko
Pynyumon03 LT
by
drillan
とあるぼっち開発者の憂鬱とGit
by
Seiichiro Mishiba
ウェブエンジニアとしての1年目を振り返って
by
Kohki Yamagiwa
jTthree V3 technical preview
by
Masaki Yamamoto
Similar to とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
PPTX
2018 07-18 git-hub講座
by
Takahito Sueda
PDF
15分でわかるGit入門
by
to_ueda
PDF
ノンプログラマのGit入門
by
Muyuu Fujita
PPT
Gitの紹介
by
Shoot Morii
PDF
git-webtouchmeeting
by
Tomohiko Himura
KEY
Git tutorial
by
Hiroki Kouchi
KEY
20120324 git training
by
Takeshi AKIMA
PDF
猫にはわからないGit講座
by
Yusei Yamanaka
KEY
Git (実践入門編)
by
Naomichi Yamakita
PDF
Git入門-概念編
by
Shin Tanigawa
PDF
2ヶ月前にgitを始めた私からこれから始める皆さんへ
by
Ayana Yokota
PDF
Gitとちょっと仲良くなるために覚えたことまとめ
by
Natsumi Kashiwa
PPTX
今さら聞けない人のためのGit超入門 2020/12/19
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
PDF
Gitのよく使うコマンド
by
YUKI Kaoru
PDF
Git 初心者のための GitHub Pages
by
Takenori Nakagawa
PDF
Git for beginners
by
Shohei kamon
PDF
Git入門
by
Kyohei Mizumoto
PDF
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
by
Erina Takei
PDF
コンセプトから理解するGitコマンド
by
ktateish
2018 07-18 git-hub講座
by
Takahito Sueda
15分でわかるGit入門
by
to_ueda
ノンプログラマのGit入門
by
Muyuu Fujita
Gitの紹介
by
Shoot Morii
git-webtouchmeeting
by
Tomohiko Himura
Git tutorial
by
Hiroki Kouchi
20120324 git training
by
Takeshi AKIMA
猫にはわからないGit講座
by
Yusei Yamanaka
Git (実践入門編)
by
Naomichi Yamakita
Git入門-概念編
by
Shin Tanigawa
2ヶ月前にgitを始めた私からこれから始める皆さんへ
by
Ayana Yokota
Gitとちょっと仲良くなるために覚えたことまとめ
by
Natsumi Kashiwa
今さら聞けない人のためのGit超入門 2020/12/19
by
VirtualTech Japan Inc./Begi.net Inc.
今さら聞けない人のためのgit超入門
by
VirtualTech Japan Inc./Begi.net Inc.
Gitのよく使うコマンド
by
YUKI Kaoru
Git 初心者のための GitHub Pages
by
Takenori Nakagawa
Git for beginners
by
Shohei kamon
Git入門
by
Kyohei Mizumoto
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
by
Erina Takei
コンセプトから理解するGitコマンド
by
ktateish
More from infinite_loop
PDF
ChatGPT触ってみた
by
infinite_loop
PDF
社内ソフトスキルを考える
by
infinite_loop
PDF
3Dプリンタって いいね
by
infinite_loop
PDF
VRChatでお酒が注げる飲み物アセットの紹介
by
infinite_loop
PDF
アニメーションとスキニングをBurstで独自実装する.pdf
by
infinite_loop
PDF
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
by
infinite_loop
PDF
500万行のPHPプロジェクトにおけるログ出力の歩み
by
infinite_loop
PDF
ADRという考えを取り入れてみて
by
infinite_loop
PDF
リファクタリングで実装が○○分短縮した話
by
infinite_loop
PDF
ゲームのインフラをAwsで実戦tips全て見せます
by
infinite_loop
PDF
楽しいVR空間を作る技術と支える技術 #osc19do
by
infinite_loop
PDF
Start rl with_unity_machine_learning_agents
by
infinite_loop
PDF
UniRx の1歩目
by
infinite_loop
PDF
がんばれ PHP Fiber
by
infinite_loop
PDF
心に残った名前ランキング
by
infinite_loop
PDF
プログラムと名前にまつわる座談会
by
infinite_loop
PDF
名は体を表していますか
by
infinite_loop
PDF
名前の力
by
infinite_loop
PDF
大切な名前[Intro]公開版
by
infinite_loop
PDF
JupyterNotebookとMySQLでゼロからはじめるデータサイエンス
by
infinite_loop
ChatGPT触ってみた
by
infinite_loop
社内ソフトスキルを考える
by
infinite_loop
3Dプリンタって いいね
by
infinite_loop
VRChatでお酒が注げる飲み物アセットの紹介
by
infinite_loop
アニメーションとスキニングをBurstで独自実装する.pdf
by
infinite_loop
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
by
infinite_loop
500万行のPHPプロジェクトにおけるログ出力の歩み
by
infinite_loop
ADRという考えを取り入れてみて
by
infinite_loop
リファクタリングで実装が○○分短縮した話
by
infinite_loop
ゲームのインフラをAwsで実戦tips全て見せます
by
infinite_loop
楽しいVR空間を作る技術と支える技術 #osc19do
by
infinite_loop
Start rl with_unity_machine_learning_agents
by
infinite_loop
UniRx の1歩目
by
infinite_loop
がんばれ PHP Fiber
by
infinite_loop
心に残った名前ランキング
by
infinite_loop
プログラムと名前にまつわる座談会
by
infinite_loop
名は体を表していますか
by
infinite_loop
名前の力
by
infinite_loop
大切な名前[Intro]公開版
by
infinite_loop
JupyterNotebookとMySQLでゼロからはじめるデータサイエンス
by
infinite_loop
とりあえずこれだけ知っていればお仕事ができる(であろう)gitガチ入門
1.
とりあえずこれだけ知っていれば お仕事ができる(であろう)gitガチ入門 〜ソースのクローンからコミットのプッシュまで〜
2.
gitってなんすか? ('A`)y-~
3.
wikipediaより
4.
なんでこういう技術的な事って わざわざ難しく書くの?
5.
バージョン管理を使ってないソース管理の事例
6.
個人用PC 個人用PC 個人用PC 共有PC WEBサーバー 直接改修 直接改修 直接改修 デプロイ (FFFTP)
7.
('A`)y-~ 私の前職での環境です
8.
今日の目標 無理に使い方を覚えようとするのではなく、興味を持って頂く事。 使い方の解説も行いますがこんなスライドのみで使い方を覚えるなんて無理な話なので こんな使い方出来るんだよ〜、という事を知って「使ってみたい」と思って頂きたいと。
9.
結局gitって何よ? とにかくわかりやすく、乱暴に解説 ファイルに対して「誰が」「いつ」「何を変更したか」というような 情報を記録することで、過去のある時点の状態を復元したり変更内容の差分を 表示できるようにするシステムのこと。
10.
よくわからないから図で見せて ひのきのぼう と きのたて 買った なんか女の子仲間になった レベル10まで上げた お墓のボス倒した 女の子に危ない水着買ってやった ひとりになった
11.
gitのリポジトリ関係図 ローカル リポジトリ ローカル リポジトリ リモートリポジトリ ソースの 作成・改修 ソースの 作成・改修 ローカル環境 コミット作成 コミット作成 コミットのpush コミットのpush コミットのclone merge
/ rebase コミットのclone merge / rebase
12.
実際にやってみます ※注意※ 解説中に出てくるorigin/masterというブランチ名はプロジェクトによって異なる可能性があります。 その際は脳内で読み替えてください(・∀・)
13.
git clone
14.
ローカル リポジトリ リモートリポジトリ ローカル環境 コミットのクローン https://github.com/vjsigsig/testhoge.git リポジトリURL ひのきのぼう と きのたて 買った なんか女の子仲間になった レベル10まで上げた お墓のボス倒した 女の子に危ない水着買ってやった ひとりになった
15.
git log
16.
git log プロジェクトの歴史が表示されます。下であれば古く、上に行くほど新しくなります。 一つ一つのコミットそれぞれにソースコードの改変や新規作成をしたんだよ。という歴史の単位と認識頂ければわかりやすいと思います。 正確にはコミットを表すものは黄色い文字の「239b4fc787・・・・」ですが、これだけだとなんのコミットなのか意味がわからないので 「Logクラスの実装」などわかりやすく名前をつけてあげます。(コミットメッセージ) コミットメッセージのガイドライン ✔コミット名と本文の間は一行空けよう ✔コミット名は50文字以内で!(つまり日本語だと25文字までって事ですね) ✔本文は一行72文字以内で!(つまり日本語だと36ry) ✔「何をしたか」よりも「なぜそうしたか」を書くように意識しよう
17.
git status
18.
ファイルの状態 [modified:] 既存のファイルに変更があったよ、という状態です。 [Untracked] gitの管理下に無いファイルが存在してるよ。という状態です。 つまり新規作成されたファイルですね。 [both modified:] 取り込んできたコミットの内容と自分が編集した(だけではありません)箇所等で 変更内容が重複しており、どちらを反映させればよいかgitだけでは判断ができず ユーザーの修正を待っている。という状態です。コンフリクトと言います。 git status 現在の状態から、どのファイルが変更されたか。どのファイルが新たに追加されたか。という情報を閲覧できます。 こちらのコマンドは恐らくgitで最も使うコマンドかと思います。 コミットを作成する前や作成した後など、何かしらの変更を加えた際は都度git
statusで確認する癖をつけると安心です。
19.
git add /
git commit
20.
git add 新規作成されたファイルや、変更のあったファイルをインデックスに追加、ステージングに追加など難しい言い方をされることが多いですが 簡単に言うと次回コミットの対象にするファイルを選択するコマンドです。 modified: wasshoi1.txt modified:
wasshoi2.txt Untracked files ./wasshoi7.txt modified: wasshoi4.txt modified: wasshoi5.txt new file: wasshoi8.txt wasshoi4,5,8を修正・追加 #modified: wasshoi4.txt #modified: wasshoi5.txt #new file: wasshoi8.txt なんか一人になった #deleted: onnna.txt add前の編集中のファイル ステージングに登録中の ファイル ローカルコミット git commit git add で登録したファイルをコミットという単位にパッケージ化して登録するコマンドです。 1コミットはなるべく規模を小さく区切ると、バグの調査やコミットの取り消しが容易になるというメリットがあります。
21.
git fetch
22.
git fetch ローカルリポジトリをリモートリポジトリと同期させます。 つまり自分の環境にリモートリポジトリの情報を取ってくるコマンドです。 ただし、実行した時点でコミットが反映されるわけではなく、あくまで後程ご紹介するコミットを反映させる準備を整えるだけです。 リモートリポジトリ リモートの状態を fetch ローカル リポジトリ
23.
git rebase
24.
git rebase rebaseは少し複雑で、リモートリポジトリから取得したコミット(正確にはorigin/masterに格納されているコミット)をローカルリポジトリに 反映させるコマンドですが、もう一つ役割があります。 リモートからコミットを反映させる際、ローカルのみに存在しているコミットがあった場合、一旦そのコミットを亜空間に移します。 その状態でリモートからのコミットを反映させ、先程亜空間に送ったコミットを元にコミット内容を忠実に再現し、現在のコミット群の上に 積む。という複雑な事をしています。 亜空間から取出したコミットはあくまで再現なので、コミット識別番号(ハッシュ値)はrebase前のものとは異なります。 ローカル ゲームオーバーになっ た ひとりになった 危ない水着買ってやっ た origin/master お金が無くなった イケメンになった ひとりになった 危ない水着買ってやった rebase origin/master ローカル ひとりになった 危ない水着買ってやっ た ゲームオーバーになった ローカルのみの コミットを亜空間へ 合体後ローカル お金が無くなった イケメンになった ひとりになった 危ない水着買ってやっ た ゲームオーバーになった 再現 合体
25.
git push
26.
ローカル リポジトリ リモートリポジトリ ローカル環境 コミットのプッシュ https://github.com/vjsigsig/testhoge.git リポジトリURL git push ローカルにて作成したコミットをリモートリポジトリに反映させるコマンドです。改修・追加したコミットは最終的にこのコマンドによって リモートリポジトリに送られ、改修を終えます。(現実的にはレビューや新たに発生したバグで更にコミットを追加するのですが…) ローカル ゲームオーバーになった ひとりになった 危ない水着買ってやった 女の子仲間になった リモート ひとりになった 危ない水着買ってやった 女の子仲間になった ゲームオーバーになった push
27.
その他便利なコマンド
28.
git branch ブランチの概念は麻雀に於ける平和のようなもので、gitでの基本概念ではあるのですが、実際にgitを運用せずに理解するのは 非常に難解です。今回の解説では、あえてブランチについては触れないようにさせて頂きました。 ぜひ実際に自分自身で運用し、ブランチの便利さと面白さを知って頂きたいと。 こちらのコマンドでは、そのブランチ名・ブランチの状態を確認することができます。 大まかにブランチは3種類あり、それぞれオプションを指定することで確認可能です。 ローカルブランチ story character master_test master トラッキングブランチ origin/story origin/character origin/master git branch
git branch -vv リモートブランチ origin/logic origin/story origin/character origin/master git branch -r
29.
git stash 改修中のファイル(例によって厳密にはファイル単位ではありませんが)を亜空間に送り込むコマンドです。 modifiedやdeleted状態のファイルが、移動元・移動先何れかにしか存在していないコミットの中に含まれていた場合、ブランチ間の移動が 出来ないなど、改修の真っ只中の状態は割と制約を受ける事が多いです。 こちらのコマンドで今の変更を一時的に亜空間に送り込みましょう。 もちろん後から取り出せるのでご安心を。 ただ、stashは割と信用できない所があり、個人的にはstashに頼りすぎずこまめにコミットしてしまう事をおすすめします。 modified: wasshoi1.txt modified:
wasshoi2.txt deleted: wasshoi3.txt add前の編集中のファイル nothing to commit, working directory clean 未編集状態 『体験した事故事例』 うっかりHEADコミットで1000行程改修してしまったので、目的のコミットに反映させるため手動rebase(rebase -i)を行う。 目的のコミットをHEADにし、stash popした時点でちょっと用事を思い出し、手動rebase取消(rebase --abort)。 stash pop → No stash found. → 地獄 ①git stash ①git stash ②git stash pop ②git stash pop
30.
git diff 現在行っている修正を、指定の箇所・ファイル・状態と比較して確認できるコマンドです。 デフォルトでは、最新のコミットとの比較に見えるのですが、正確にはインデックスとの比較です。addでインデックスに登録した後再度同じ ファイルを修正し、git diffを使用すると再現できます。 様々な対象との比較が出来るので汎用性が高く、こちらもよく使うコマンドの一つです。 @@
-308,28 +308,28 @@ class Team /** * フィーバータイムログstructure形式に変換する - * @param array $fever_time_log フィーバータイムログ - * @param int $fever_interval フィーバーの時間 - * @return array <structure name="FeverLog">型 + * @param array $fever_time_log フィーバータイムログ + * @param int $fever_interval フィーバーの時間 + * @return array <structure name="FeverLog">型 */ - static public function toFeverLogStructure($fever_time_log, $fever_interval) + public static function toFeverLogStructure($fever_time_log, $fever_interval) 現在の修正 と インデックスとの比較 $ git diff 現在の修正 と HEADコミットとの比較 $ git diff HEAD^ インデックス と HEADコミットとの比較 $ git diff --cached 特定のファイル と 特定のファイルとの比較 $ git diff ./hoge1.txt ./hoge2.txt
31.
その他コマンド、ざっくり紹介 $ git checkout 1.ローカルブランチを切り替える
2.ローカルブランチを作成して切り替える 3.ファイルをHEADコミット時の状態に戻す これ以外にもたくさんの機能があり、覚えたての頃は、わかりにくいからコマンド分けろや!! と思っておりましたw $ git reset 1.指定のコミットまで打ち消す 2.ファイルのインデックス登録を取り消す こちらもcheckoutと同じく、似てるようで全く違う事をやる系です。 $ git cherry-pick 別のブランチからコミットを引っ張り込みます。 masterに居ながらorigin/characterなどのトラッキングブランチからも直接取り出す 事も可能ですが、元となるファイルが無かったり、あまりにも差分が大きい場合はコンフリクトしたり等、すんなりいかない事が多い です。
32.
まとめ ・後半は割と突っ込んだコマンドの紹介をさせて頂きましたが最初は clone ~
pushまでの 流れを覚えておけば OKです。 使っていくうちに自然と身についていきます。 ・繰り返しになりますが、こんなスライドだけで全部覚えようとしても難しいです。 実際に手を動かして実行結果を自分で確認しながら学ぶ学習法に勝るものは無いです。 ・gitが楽しく感じてきたら後は時間の問題。 参考資料 サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 http://www.backlog.jp/git-guide/ Gitがこわくて触れなかったけど、このスライドで 理解できるようになったよGitサイトまとめ http://programmerbox.com/2013-07-17_git_summary/ Git ワークフローとそのチュートリアル | アトラシアン https://www.atlassian.com/ja/git/workflows
Download