GIT

ドットインストール準拠

 

・git                                         - バージョン管理システム
・作業ディレクトリ                - ファイルを作成、修正する
・ステージングエリア             - 作業途中の場所
リポジトリ                           - 途中経過を保存する場所

gitを使用する際の設定
・必ず設定する
 ・git config --global user.name "ユーザ名"                - ユーザ名を定義する
 ・git config --global user.email "メールアドレス"      - Emailアドレスを定義する
・got config --global color.ui true                                   - uiを色別に表記する機能
・git config -l                                                                  - gitの設定を表示する
・git donfig --help or git help config                                - ヘルプの表示

コミット
・git init ファイル名             - 現在のディレクトリをgitで使用するという定義を行うコマンド
・git add ファイル名            - ファイルを作業ディレクトリからステージングエリアに保存する
・git commit ファイル名      - ファイルをステージングエリアからリポジトリに保存する
・git log                                - gitのログを表示する
・git log --oneline                 - gitのログを一行で表記する
・git log -p                            - 変更点を表記したログ(変更されたファイル、行数、内容など)
・git log --stat                       - 変更されたファイル、行数を表記したログ

現在の状態の把握
・git status                                - ファイルの現在の状態の出力(modifiedと表示されていたら変更されている状態)
・git checkout -- ファイル名     - 変更を保存せず元の状態に戻す

差分の確認
・git diff                           - 差分の表示(ステージングエリアにあげる前のファイルが対象)
・git diff --cached            - 差分の表示(ステージングエリアにあるファイルが対象)

ファイル操作
・git add .                       - 以下のファイルを同時にステージングエリアに保存する
・git rm / git mv               - ギット管理しているファイルは削除、移動にgitコマンドを使用する

git管理を含めないファイル
・.gitignore                                 - git管理しないファイルを指定するファイル
 ・*.log                                     - *.logを含むファイルはgit管理しないという指定
 ・gitignoreファイルを置いた階層とそれ以下の階層に対して指定する

直前のコミットを変更する
・git commit -m "メッセージ"                - メッセージを少ししか記載しない場合
・git commit --amend                            - 直前のコミットを変更する(大した変更を行わなかった場合)

過去のバージョンに戻る
・git reset --hard HEAD                               - 直前のコミットに変更する
・git reset --hard HEAD^                             - 二つ前のコミットに変更する
・git reset --hard コミットID                       - 指定したIDのコミットに変更する
・git reset --hard ORIG_HEAD                    - 過去バージョンに戻る前に変更する(直前のコミットに戻る)

ブランチ
・git branch                                                  - 現在の作業ブランチを確認する
 ・互いに干渉しないため、複数のバージョンを同時に編集するときに便利
・git branch ブランチ名                               - 新規ブランチを作成
・git checkout ブランチ名                            - 指定した作業ブランチをアクティブにする
・git merge ブランチ名                                - 現在の作業ブランチに指定ブランチを反映する
・git branch -d ブランチ名                           - 指定したブランチを削除する
・git checkout -b ブランチ名                        - ブランチを作成してアクティブにす

・コンフリクト                                             - 異なるブランチで同じ部分を編集し、マージする際の衝突
・vi ファイル名
  ・<<<<<<HEAD       - ここから
           line 1st          |
   =========        |
   line first       |
   >>>>>>hogehoge                              - ここまでに相違がある
 ・コンフリクトの修正は残したほうを残して削除編集すればよい

タグ
・git tag                                     - タグの一覧を見る
・git tag タグ名                         - 現在のコミットに指定したタグをつける
・git tag タグ名 コミットID      - 指定したコミットに指定したタグをつける
・git tag -d タグ名                     - 指定したタグを削除する

エイリアス
・git config --global alias.co checkout           - co=vheckoutと指定する
・git config --global alias.st status                 - st=statusと指定する
・git config --glibal alias.br branch                - br=branchと指定する
・git config --global alias.ci commit               - ci=commitと指定する
・git config -l - gitの設定を見る(エイリアスのリストの表示)

共有リポジトリ                             - 共同開発する際の共有のリポジトリ
・git init --bare                                                           - 当階層では変更を行わない、共有のためのgitを設定
・git remote add 名前 共有リポジトリのパス           - 共有リポジトリの場所を設定
 ・git remote rm 名前                                              - 共有リポジトリ設定を削除
・git push origin master                                             - マスターの内容を共有リポジトリにpushする
・git clone 共有リポジトリのパス フォルダ名          - 共有リポジトリの内容のフォルダを作成する
・git pull origin master                                                - 共有リポジトリの内容をマスターにpullする
・A,B共にpushした場合、先にpullを行えというエラーが発生する
 →git pull origin master
 ・同ファイルを変更しようとしていた場合はコンフリクトが発生するため、上記同様修正する