Git短答
➀Gitとは?
プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムです。
➁リモートサーバ、ローカルサーバとは?
ローカル
ユーザ一人ひとりが利用するために、自分の手元に配置するリポジトリです。
リモート
ネットワーク上で複数人で共有するためのリポジトリです。
➂コミットとプッシュの違いは?
・コミット
作業ディレクトリからステージングさせローカルリポジトリ内にファイル情報を保存・記録することです。
・プッシュ
ローカルリポジトリからコミットしてきたファイル情報をリモートリポジトリへの反映させること
➃コミットせずに作業を退避するには?
git stashを使用すると、コミットしていない変更(git addでステージングにしているものとしていないもの(作業ディレクトリ内)両方)を退避します。
➄フェッチとプルの違いは?
・フェッチ
リモートから最新情報をローカルに取ってくるのですが、originが付いたリモートを追跡するブランチが受け取ります。
その後、git mergeでローカルのmasterブランチにマージをして作業ブランチにという流れになります。
・プル
リモートからoriginが付いた追跡ブランチを介して一気にローカルのmasterブランチで受け取れる。
➅reset と revert の違いは?
・revert
変更履歴ABCがあり、Bのコミットを打ち消した場合、新たにDという変更履歴が作成される。Dの変更履歴はBのコミット変更履歴を打ち消した変更履歴であるという事です。HEAD位置もDの変更履歴に移動します。
・reset
変更履歴ABCDがあり、CDのコミットを削除しBの変更履歴に戻ります。revertと違って新たに変更履歴が作成はされません。HEADの位置もBの変更履歴に戻ります。
➆ブランチを切り替える時のコマンドは?
ブランチを切り替えたい時はgit checkoutコマンドを実行します。
➇過去のコミットメッセージを書き換えるには?(2つ)
・git commit の「--amend」オプション
--amend オプションは直前のコミットを「置き換える」コマンドです。
・git rebase -i (--interactive)
変更履歴が2つ以上の過去のコミットコメントをを修正したい場合。
➈Push前の自分のブランチで、過去の複数のコミットを一つにまとめるには?
過去のコミットをまとめるには、git rebase -iを使います。
まず、git log でリベース対象のコミットを確認します。
次に「git rebase -i (リベースしたいコミット番号)」
でリベースを実行。
すると、エディタを開きpickからsquashに変更して、エディタを保存する。
➉リモートにPushするときに気をつけることは?
プッシュする前に、「Pull」もしくは「Fetch+merge」をし、ローカルを最新状態へ更新する。
⑪タグはどんな時に作るもの?
過去のコミット変更履歴を参照しやすくするためです。
⑫GitFlowとは?
Git flowでは、それぞれ役割が振られているmaster, release, develop, feature, hot-fixの5つのブランチを使い分けて、開発を進めていくことです。
feature……開発をおこなうためのブランチで、個々の機能の実装やバグの解決を行う
develop……開発をおこなうためのブランチ
release……リリース前に準備、微調整をおこなうブランチ
master……リリースしたデータを置いておくブランチ
hot-fix……リリースされているデータに、緊急の修正対応をするためのブランチ