ローカルリポジトリを新規作成
$ git init
Initialized empty Git repository in ~~~~~~
上記のコマンドでワークツリー上にリポジトリが新規作成されます。
変更をステージに追加する
#ファイルを追加
$ git add <ファイル名>
#ディレクトリを追加
$ git add <ディレクトリ名>
#変更すべて追加
$ git add .
変更をリポジトリに反映する
$ git commit -m "コミットメッセージ"
mオプションでgitのエディターを立ち上げることなく、コミットメッセージをつけることが出来ます。
現在の変更状況を確認する
$ git status
#現在いるブランチ
On branch master
No commits yet
#ステージに追加されているファイル
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: index.html
#ステージに追加されていないファイル
Untracked files:
(use "git add <file>..." to include in what will be committed)
main.css
変更差分を確認する(ステージ前)
$ git diff
diff --git a/index.html b/index.html
index cef45f3..8d0578e 100644
--- a/index.html
+++ b/index.html
@@ -10,5 +10,6 @@
</head>
<body>
<h1>テスト用のファイルだよ。</h1>
+ <h1>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</h1>
</body>
</html>>
\ No newline at end of file
表示されるのはステージされていないファイルのみ。
+の部分は新規で追加された部分
-の部分はもともとあったファイルから削除されたもの。
変更差分を確認(ステージ後)
# どっちでもいいです
$ git --staged
$ git --cached
コミット履歴を確認
$ git log
# 1コミット1行だけ表示(コミットメッセージくらいしかみれない)
$ git log --oneline
# 各コミットの変更差分を表示する
$ git log -p
# コミット数を指定して表示
$ git log -n <コミット数>
リポジトリとワークツリーからファイルを削除する。
$ git rm <ファイル名>
# ディレクトリを削除する場合(ファイル名とディレクト名を区別するため)
$ git rm -r <ディレクトリ名>
# リポジトリから削除したいが、ワークツリーには残したい場合
$ git rm -cached <ファイル名>
ファイルを移動(名前の変更もこれできる)
git mv <旧ファイル> <新ファイル>
リモートリポジトリを新規追加する
$ git remote add origin <リモートリポジトリのURL>
別にリモートリポジトリの名前はoriginでなくてもいいです。
Push(リモートリポジトリにコミットを反映する)
$ git push <リモート名> <ブランチ名>
#実例
$ git push origin master
上記のコマンドでは、originリポジトリのmasterブランチにpushしている
コマンドにエイリアスをつける
# 実例だけ。適宜変えてください。
$ git config --global alias.ci commit
上記のコマンドでは、グローバルに対してcommitをciを略するとしています。
ファイルへの変更を取り消す(ステージ前)
$ git checkout -- <ファイル名orディレクトリ名or.>
ファイルへの変更を取り消す(ステージ後)
git reset HEAD <ファイル名>
HEADのブランチの特定のファイルをリセットするという意味
直前のコミットをやり直す
git commit --amend
注意!!: リモートリポジトリにpushしたコミットはやり直さないでください。コンフリクトが発生して、地獄を見ます。
登録したリモートリポジトリを表示する
$ git remote
# 対応するURLを表示したかったら
$ git remote -v
リモートリポジトリから情報を取得してくる
$ git fetch <リモート名>
$ git pull <リモート名> <ブランチ名>
fetchとpullの違い
fetchはリモートリポジトリの内容をローカルリポジトリに保存するだけ
pullはリモートリポジトリの内容をローカルリポジトリとワークツリーに反映する
リモートリポジトリの詳細情報を表示する
$ git remote show <リモート名>
リモートの名前変更・削除
$ git remote rename <旧リモート名> <新リモート名>
$ git remote rm <リモート名>
新しいブランチを作成
$ git branch <ブランチ名>
ブランチの一覧を表示する
# ローカルのみ
$ git branch
# リモートリポジトリも表示する
$ git branch -a
ブランチを切り替える
$ git checkout <ブランチ名>
# ブランチの新規作成と同時に切り替える
$ git checkout -b <ブランチ名>
マージする
$ git merge <ブランチ名>
$ git merge <リモート名/ブランチ名>
ブランチの名前変更・削除する
$ git branch -m <ブランチ名>
$ git branch -d <ブランチ名>