#Gitとは
wikipedia先生によると
Gitは、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。wiki
Gitは分散型バージョン管理システムといって、リモート(元のファイル)をローカルに落として編集できるんだなくらいに思っています。
##branch
-
git branch
ローカルブランチの確認
##clone
-
git clone クローンしたいリポジトリ
リモートリポジトリをクローンして
ローカルリポジトリを作る
##checkout
-
git checkout -b ブランチ名
ブランチの作成 -
git checkout ブランチ名
ブランチを切り替える
##fetch
-
git fetch
リモートリポジトリから最新情報をローカルリポジトリに持ってくる(更新はされていない)
##merge
自分のブランチに他のブランチの更新を取り込む
-
リモートブランチにローカルブランチの更新を取り込みたい場合
git merge 変更を加えたローカルブランチ名
更新を取り込みたいリモートブランチにいる状態で実行する
-
コンフリクトが起きて編集前にマージを取り消す場合
git merge --abort
-
コンフリクトが起きて編集後にマージを取り消す場合
git reset --hard HEAD
-
コンフリクトが起きてリモートで上書きしたいとき
git fetch origin コンフリクトが起きたブランチ名
git reset --hard origin/コンフリクトが起きたブランチ名
##pull
fetchとmergeを同時に行う
git pull origin master
ローカルのマスターにいる状態で実行するとリモートのマスターからの変更がローカルのマスターに組み込まれる
##add
追加、変更したファイルをインデックス(commit候補)に加える
※add単体での使用はしないため例は省略
##commit
インデックスに登録してある変更対象をローカルリポジトリに反映
-
git commit -am "コミットメッセージ"
addとcommitを同時に行い、メッセージも指定できる
##show
-
git show
最新コミット内容表示
##reset
-
git reset --soft
コミットだけを取り消す(ローカルのワークディレクトリの内容は変更しない) -
git reset --hard
ローカルのワークディレクトリの内容も含め、コミットを取り消す -
git reset --soft HEAD^
直前の間違ったコミットを取り消す(「HEAD^」は、直前のコミットという意味を表すオプション)
git pushを取り消す2つの方法
##push
ローカルブランチの変更をリモートブランチに反映
-
git push origin ブランチ名
変更したローカルブランチにいる状態で実行すると指定したリモートブランチに変更を反映できる
##delete
-
git branch -d ブランチ名
マージ済みのブランチのみ削除 -
git branch -D ブランチ名
どんなローカルブランチでも削除できる -
git push --delete origin ブランチ名
リモートブランチを削除
※originはリモートリポジトリのこと
##stash
-
git stash
変更を退避する -
git stash save "message"
メッセージをつけて退避 -
git stash list
退避した作業一覧を見る -
git stash apply stash@{0}
退避した作業を戻す -
git stash drop stash@{0}
退避した作業を消す -
git stash pop stash@{0}
applyとdropを同時に行う -
git stash clear
退避した作業を全削除