SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
⾮エンジニア向けGitガイド
ver.1
現場のPM/ディレクター向けにディレクション業務におけるGitの概要から活⽤法を「概念」で
且つ、超噛み砕いて語っています。
ソースレベルの記載は⼀切していません。ゆえに、ターミナル等のGit Commandでの解説では
なく、アプリケーション内のインターフェースを例にとって解説しています。
また、本資料は個⼈が独学で習得したナレッジを個⼈の⼒量でアウトプットしているだけのものな
ので、なんか違くね?ってのがあったらコメントくださいね。
この資料について
1
そもそもGitとはなんなのか?
ファイルの編集履歴の管理ができる
- 新旧のファイルを⼀元管理できる。
- 「誰」が「いつ」作業したのかログに残る。
- 古いバージョンに戻すことも容易に可能。
(ログが辿れるので事故った時のエビデンスにもなる。)
- 編集した履歴を複数⼈で共有でき、共同開発できる。
- 複数⼈で修正した部分を⼀つに統合できる。
複数⼈での開発ができる
ざっくりいうとファイルのバージョン管理が
簡単にできるツール。
2
複数⼈での開発の利点
3
Gitにはブランチという概念があり、駆使することにより1つの制作物に対して開発領域を割り振り
同時並⾏で開発することができます。
現場でよくある例
スクラムのイメージ
無事テストアップ完了
TOPページ
てつさん
下層ページA
ほんださん
下層ページB
ふじせさん
PJ責任者
制作数
テストアップ
ボリューム
状況
10P(それぞれのページは独⾃レイアウトなため、複製できない。)
1/271/26
完了
完了 作業の負荷分散ができることはもちろん、
他案件のタスクも消化しながら、
適正なリソースで稼働することができる。
完了
1/28 1/29 1/30
2020/1/30(今は1/26)
10⼈⽇程度
急遽落ちてきたタスク。ボリュームと期間が⾒合っていない。
1⼈が毎⽇徹夜すればどうにかなるんだろうけど現実的ではない。
ただ、作業者を分担すればどうにかなりそう。
8h 8h 8h 8h 8h
6h 6h 6h 6h
4h 4h 4h 4h
マージ
⽤語解説 - 1
とはいえ操作の解説の前に固有のキーワードが多いのでそれぞれ解説します。
⽤語 意味
リモートリポジトリ
ローカルリポジトリ
クローン
ブランチ
プッシュ
コミット
remote repository
local repository
clone
branch
push
commit
特定のサーバー上に設置して複数⼈で共有するためファイル貯蔵庫。
(例えるならboxが近い)
ユーザーごとに配置される⼿元のマシンで編集できるファイル貯蔵庫。
⼀⾔でいうとダウンロード。
リモートリポジトリの内容をローカルに複製して保存すること。
ファイルの編集履歴を分岐させて記録していく機能のこと。
※P6に詳細記載
ローカルリポジトリにある変更差分をリモートリポジトリにアップロードする操作。
(いわゆるboxにアップロードする感覚に近い)
- ファイルやディレクトリの編集作業をローカルリポジトリに記録するために必要な操作。
- 「コミットしました。」という⾔葉をよく聞くが、プッシュまでしないと意味がない。
- コミットとプッシュをまとめて⾏うこともできるが、それぞれの操作で意味が
まったく異なるため今すぐ外したほうがいい。
4
⽤語解説 - 2
⽤語 意味
プル
フェッチ
マージ
チェックアウト
コンフリクト
破棄
マージリクエスト
削除
pull
fetch
merge
check out
conflict
discard
merge request
deleate
ローカルリポジトリとの差分のみをリモートリポジトリからダウンロードして更新する操作。
リモートリポジトリからファイルの最新情報を取得する操作。
ファイルはダウンロードされず、リモートの更新ログだけが取得できる。
複数のブランチを1つのブランチにまとめること。
ブランチを切り替えること。
マージ作業中に「マージするブランチ」と「マージされるブランチ」の同⼀箇所で差異が⽣じ、
機械的に何を正としてよいか判断できなくなって、マージ作業が中断されている状態。
コミット前の変更差分をなかったことにすること。
※ファイルは削除されない
責任者(コードレビュアー、PM)などに、マージを促す⾏為。
※GitLabではマージリクエスト、Githubではプルリクエストという。
ファイルごと削除すること。
※正確に⾔うとファイルを削除したことをコミットログに乗せること
こちらの⽤語⼀覧を理解していただいたうえで、実務での操作を解説します→ 5
実務での使い⽅
Gitには「git-flow」と呼ばれるフレームワーク(考え⽅)が存在し、各ブランチの役割とフローを
明確にし、シンプルでわかりやすい運⽤が可能です。
作業フロー
作業発⽣/
ブランチ作成
作業発⽣/
ブランチ作成 作業/コミット
作業/コミット
テストアップ/
マージ
納品or公開/
マージ
featuredevelopmaster最新
1 2 3
4
5
6
7
各ブランチの役割
TDWでは以下3つのブランチの役割だけ覚えておけば⼤丈夫だと思います。
案件の性質によっては、以下のブランチも活⽤すると良いかもしれません。
- 本番環境と同⼀の状態を指す。
- ここでは基本作業しない。
- masterブランチからはdevelopかhotfix、release
ブランチが作成できる。
- 作業⽤ブランチ。
- developブランチにマージできる。
- 複数のリリース⽇が確定している、且つ作業者が多数で
同時並⾏で進⾏しているときに使⽤する。
- release-1225などに⽇付単位でブランチを切って最後に集約する。
- masterブランチから⽣やす。
- 本番公開時に事故った時の応急処置的な意味合いで使⽤する。
- masterから直接⽣やす。
- 開発環境と同⼀の状態を指す。
- ここでは基本作業しない。
- masterブランチにマージできる。
feature
develop
release
hotf ix
master
6
参考:誤った操作をした場合に前のバージョンに戻したい - 1
何らかの事態で障害が⽣じ、前のバージョンに戻す必要がある場合のやり⽅を解説します。
※インターフェースが異なるかと思いますが、概念だけ解説します
誤って不要なコミット&プッシュをしてしまった。
ログとして不要なので、前のコミットの状態に戻したい。
戻したい箇所で右クリックをして、Resetを選択
7
参考:誤った操作をした場合に前のバージョンに戻したい - 2
ダイアログが表⽰されるので、「Reset type:Hard」を選択する。
ひとまずローカルが前の状態に戻る
リモートに反映させたいので、戻したログをプッシュする。
この時Force push(強制プッシュ)にチェックする。
※アプリケーションの設定によってはプッシュできないので、
設定からForce push(強制プッシュを有効化してください)
※リモートリポジトリのログを削除する⾏為なので⼗分に気をつけて作業してください
8
知っておくといつか役に⽴つ機能の紹介です。
その他機能
タグ
スタッシュ
チェリーピック
リベース
リリース地点に⽬印をつけることができる
作業途中の差分を⼀時退避することができる。
例)とあるブランチで作業中だけど、いますぐやりたいことができて作業を⼀時中断したい。
だが、すごく中途半端だからコミットはしたくない。というときに使う。
作業ブランチ間違えていた時とかにも有効かも。
特定のコミットを他のブランチに取り込むことができる
- ブランチの根っこ部分を他のブランチの特定コミット箇所に移し替え、合流すること。
- featureブランチで作業していたが、developが先に進んでしまい、
⼀部の記述が遅れを取った場合に使う
stash
cherry pick
rebase
これはマストで
やったほうがいいかも
9
使うなら下記がおすすめ
- 無料
- インターフェースがわかりやすい
- 認知度も⾼く利⽤⼈⼝が多いので、ググればやり⽅はすぐ⾒つかる。
- 少し重い。
- 独⾃のIDを取得する必要があるのがちょっと⾯倒。
- UIは微妙だけど、基本的なことは全部できる。
- エクスプローラー上で直感的に操作できるのが良い。
- マージした時に標準機能で差分がエクスポートできるのが良い。
- 軽い
- 無料
おすすめアプリ
Win / Mac
Win
Sourcetree
Tortise Git
10

Weitere ähnliche Inhalte

Was ist angesagt?

10 Things It Architect Should Know
10 Things It Architect Should Know10 Things It Architect Should Know
10 Things It Architect Should KnowYusuke Suzuki
 
金融業界における人工知能
金融業界における人工知能金融業界における人工知能
金融業界における人工知能Takanobu Mizuta
 
夜までラボ☆テレビ7月24日開催分
夜までラボ☆テレビ7月24日開催分夜までラボ☆テレビ7月24日開催分
夜までラボ☆テレビ7月24日開催分ikiikilab
 
The holy bible in japanese
The holy bible in japaneseThe holy bible in japanese
The holy bible in japaneseWorldBibles
 
【12-E-6】 ERP導入の投資対効果 ~SAPの導入事例を元に~
【12-E-6】 ERP導入の投資対効果 ~SAPの導入事例を元に~【12-E-6】 ERP導入の投資対効果 ~SAPの導入事例を元に~
【12-E-6】 ERP導入の投資対効果 ~SAPの導入事例を元に~devsumi2009
 
Bluetoothでつなごう!
Bluetoothでつなごう!Bluetoothでつなごう!
Bluetoothでつなごう!Shin Ise
 
0423mitsubishi
0423mitsubishi0423mitsubishi
0423mitsubishiloftwork
 
Socila Media2009 4 15
Socila Media2009 4 15Socila Media2009 4 15
Socila Media2009 4 15Yuki Fujino
 

Was ist angesagt? (11)

10 Things It Architect Should Know
10 Things It Architect Should Know10 Things It Architect Should Know
10 Things It Architect Should Know
 
4 22blog
4 22blog4 22blog
4 22blog
 
金融業界における人工知能
金融業界における人工知能金融業界における人工知能
金融業界における人工知能
 
SIG-SWO-A801-04
SIG-SWO-A801-04SIG-SWO-A801-04
SIG-SWO-A801-04
 
夜までラボ☆テレビ7月24日開催分
夜までラボ☆テレビ7月24日開催分夜までラボ☆テレビ7月24日開催分
夜までラボ☆テレビ7月24日開催分
 
The holy bible in japanese
The holy bible in japaneseThe holy bible in japanese
The holy bible in japanese
 
【12-E-6】 ERP導入の投資対効果 ~SAPの導入事例を元に~
【12-E-6】 ERP導入の投資対効果 ~SAPの導入事例を元に~【12-E-6】 ERP導入の投資対効果 ~SAPの導入事例を元に~
【12-E-6】 ERP導入の投資対効果 ~SAPの導入事例を元に~
 
Bluetoothでつなごう!
Bluetoothでつなごう!Bluetoothでつなごう!
Bluetoothでつなごう!
 
0423mitsubishi
0423mitsubishi0423mitsubishi
0423mitsubishi
 
Socila Media2009 4 15
Socila Media2009 4 15Socila Media2009 4 15
Socila Media2009 4 15
 
4 15 Guidance
4 15 Guidance4 15 Guidance
4 15 Guidance
 

Git_guide