#Gitの準備
###-共同開発とGitの役割-
####共同開発は3つにステップがある。
[step1]コードを変更する
[step2]共有する準備をする
[step3]共有する
・共同開発では、自分のかいたコードを他の人に共有する必要があり、この共有のところがGitのの活躍する場。
git init
・gitリポジトリを新しく作るためのコマンド。
・このコマンドを実行することで、gitディレクトリができる。
git status
・現在のGitの状態を表示するコマンド。
・このコマンドを実行すると、現在いるブランチ、ファイルの状態変化(編集やインデックスの追加)が確認できる。
・自分が変更したファイルのファイル名を表示する。変更があったファイル(addされてないファイル)は赤色で表示され、変更後(addされたファイル)は緑色で表示される。
git diff
・変更内容を把握するコマンド。追加されたコードが緑色で表示。
#git confing (Gitの設定)
git confing --list
・コマンドで実行した場所で有効になっている設定項目と設定項目とその設定値が全て表示される。
git confing --global user.email メールアドレス
・メールアドレスの設定。
git confing --global user.name '名前'
・名前の設定。
#git add -----変更内容をインデックスに追加するコマンド
git add ファイル名
・個別のファイル単位で追加。
git add ディレクトリのパス/*
・特定ディレクトリ以下のファイルをまとめて追加。
git add -A
・全ての変更をまとめて追加(追跡対象でないファイルも含む)。
・便利なオプションだが、余計なファイルが追加されていないか 'git status' などで確認する。
#git commit
git commit -m 'コミットメッセージ'
・インデックスに追加された変更内容をコミットするコマンド。
#git log
git log
・過去のコミット情報一覧を見るためのコマンド。
#git show -----過去のコミットの詳細を確認するためのコマンド
git show コミットID
・コミットの情報や差分を見る。
git show コミットID:ファイル名
・特定コミット時点でのファイルの状態を見る。
#git checkout -----ブランチの作成と移動ができる
git checkout -b ブランチ名
・ブランチの作成(同時にブランチを移動する)。
git checkout ブランチ名
・ブランチの移動。
#git branch -----ブランチの作成や削除、一覧の確認などができる
git branch
・ローカルリポジトリのブランチ一覧を表示する。
git branch ブランチ名
・ブランチの作成(ブランチの移動は行わない)。
git branch -d ブランチ名
・ブランチの削除(マージされていないブランチも削除)。
git branch -D ブランチ名
・ブランチの削除(マージされていないブランチも削除)
#git merge
git merge ブランチ名
・現在いるブランチに別のブランチをマージする。
#git reset -----変更を取り消してコードをを以前の状態に戻す
###コミットのみを取り消す(--soft)
git reset --soft 取り消しするコミットコード
・コミットのみ取り消す。コミットは削除されるが、コミットに含まれていたコードの変更はインデックスに残された状態になる。
git reset --soft HEAD^
・直前のコミットを取り消しする場合。
###コミットとインデックスを取り消す(--mixed)
git reset --mixed 取り消しするコミットコード
・コミットとインデックスの変更を取り消す。コード変更は作業ツリーに残された状態になる。
git reset --mixed HEAD^
・直前のコミットとインデックスを取り消す。
###コミット内容を全て取り消す(--hard)
git reset --hard 取り消しするコミットコード
・変更を全て取り消す。一度取り消してしまうと先に戻すことはできないので扱いは注意(リモートリポジトリにコミットが残っている場合は別)。
・やりがちなミスとしてuntrackedな状態のファイルが消せない。untracked状態のファイルはGit操作の対象外なのでgit reset時に戻すため、一度 「git add ファイル名 -N」でGit管理下に追加する。
git reset --hard HEAD^
・直前のコミット内容を全て取り消す。
##git log
git log
・コミットIDの確認。
git log -p
・変更内容を見る。表示内容が多い時は、上下キーで移動して「Q」で終了。
##git add HEAD
git add HEAD ファイル名
・特定のファイルの取り消し。
#リモート、リモートリポジトリ(共有ファイルの置き場。ファイルをアップロードしたり、ダウンロードをする。)
##git remote -----リモートブランチに関する操作を行う
git remote add リモートブランチ名 URL
・リモートブランチを登録。
git remote -v
・リモートブランチの確認。
#git push -----ファイルにアップロード
git push -u リモートリポジトリ名 ブランチ名
・登録したリモートリポジトリをファイルにアップロード→このアップロードをプッシュという。
・リモートブランチ(コミット)をpush(upstreamブランチが設定されていない場合)。
git push
・リモートブランチ(コミット)をpush(upstreamブランチが設定されている場合)。
###*upstreamブランチとは
・リモート上にあるローカルブランチに対応するブランチのこと。
・ローカルブランチでpushやpullの操作をすると、upstreamブランチに対してその操作を行う。
#git pull -----ファイルをダウンロード
git pull リモートリポジトリ名 ブランチ名
・リモートリポジトリからファイルをダウンロードする。→このダウンロードをプルという。
git pull
・今いるブランチの最新コミットを取得する。