Gitコマンドを忘れてしまった時の見直し ~> その1 <~
gitに関係ないコマンドもあるけど、基本的にgitを使う中で必要なコマンドも
載せておく
記載コマンドの種類一覧
-
cloneリポジトリからワークツリーへデータを持ってくる -
addステージに追加する -
commitステージにある変更を反映させる -
statusgitの状態を表示してくれる -
diff変更差分を表示する -
logコミットの履歴や変更差分の詳細を表示 -
rmファイルやディレクトリの削除が行える -
mvファイル名やディレクトリ名などを変更する -
pushステージの変更差分をリポジトリに上げる
基本中の基本コマンド
移動コマンドとディレクトリ作成
cd ~ #ディレクトリを移動する
mkdir ~ #ディレクトリを新規作成する
ls ~ #指定したディレクトリ内やファイルの中身を表示
ls -a #ディレクトリ内全てを表示
rm ~ #ファイルを削除する
cp ~ #ファイルをコピーする
mv ~ #ファイルの移動とファイル名の変更を行う
cat ~ #ファイルの中身を表示する
Gitコマンドについて
いつも忘れがちなコマンドが多く、使っていかないと
覚えないので、日々使ってみる。
初歩的なgitコマンド達
init
git init
.gitディレクトリが作成され、gitを使う際に必要なファイルなども作られる
git hubからプロジェクトなどをcloneする時に使う
clone
git clone <リポジトリ名>
リモートリポジトリをローカルリポジトリにダウンロードする
プロジェクト内の変更をステージに追加するコマンド
add
git add <ディレクトリ名>
git add <ファイル名>
git add .
# 現在いるディレクトリ内の全てをステージに追加してくれるので、注意も必要
ステージに上がっている変更を反映させるコマンド
commit
git commit
# gitのエディタが立ち上がる、欠点としては何を変更したのかの中身は見れない。ちょっとめんどい
git commit -m "<メッセージ>"
# 一番使いやすい。自分だけでやってる時はよく使う
git commit -v
# 変更内容の詳細が見れるので、間違ったコミットをしないようにするため、正式にチームにコミットする時は使うべき
addする時もそうだけど、commitする時は変更内容をしっかりと確認する癖をつけないと
大変なことになることもあるので、よく使うコマンドではあるけど気をつけること。
変更がないか確認したい時のコマンド
status
git status
注意することとしては、ちょっとした違いがあること
ステージに変更されているものと、
addする前のものは分けて表示される。
変更分の中身を見れるコマンド
diff
git diff
# git addする前の変更分を見れるコマンド
# 要するにワークツリーとステージとの差分を表示している
git diff --staged
# git addした後の変更分を確認したい時に使うコマンド
# 要するにリポジトリとステージとの差分を表示している
コミットした履歴を追ったり、見れるコマンド
log
git log
# よく使うコマンド
git log --online
# 一行で表示してくれる
git log -p <ファイル名>
# ファイルの変更差分を表示してくれる
git log -n <コミット数>
# 表示するコミット数を制限する
ファイルを削除できるコマンド
rm
git rm <ファイル名>
git rm -r <ディレクトリ名>
# ファイルごと削除したい場合
# ワークツリーからもリポジトリからも削除される
git rm --cached <ファイル名>
# リポジトリからは削除したいけど、ワークツリーにはファイルを残したい時は
ファイル名を変更したい時
mv
git mv <旧ファイル名> <新ファイル名>
# ファイル名を変更したい時に使用する
※以下のコマンドでも代替ができる
mv <旧ファイル名> <新ファイル名>
git rm <旧ファイル名>
git add <新ファイル名>
コマンドをいちいち覚えるのが面倒であれば下の3ステップを使うのが良さそう
ステージに上がっている変更をリポジトリにも反映させる
push
git push <リモート名> <ブランチ名>
# 例: git push origin master
git push -u origin master
# ↑の様にコマンドを打つと次回からgit pushと打つだけでよくなるオプション
よく使うけど、注意が必要なコマンドも多い、
特に変更をpushする時は、本当に上げていい変更なのかや
変更したものだけをpushするのが安全な気がする。