Gitの設定
- 設定ファイルを作る
git config
-
git config --list
※Gitの設定内容を確認する
リポジトリの作成
- カレントディレクトリにローカルリポジトリの作成する
git init
コミットの作成
-
ステージングエリアに変更を登録する =コミット予約
git add
-
git add .
※カレントディレクトリ配下の全てのファイルを追加 -
git add subDirectory
※「subDirectory」ディレクトリ配下のファイルを全て追加 -
git add subDirectory/file1.md
※「subDirectory」ディレクトリ配下の file1.md を追加
-
変更したファイルをまとめてステージングエリアに追加する
-
git add -A
※「-A」は、「--all」とも書ける
-
-
コミットを作成する
git commit
-
git commit -m "コミットメッセージ"
※1行コミットのみ
-
更新されたファイルをステージングエリアに追加して、そのままコミットする
-
git commit -am "コミットメッセージ"
※新規ファイルの場合はgit addコマンドを使う必要がある
-
-
Git管理下のファイルやディレクトリを削除する
git rm
-
gir rm -r
※ディレクトリの場合は「-r」オプションを付ける
状態の確認
-
ローカルリポジトリの状態を確認する ※ファイルの状態を確認
-
git status
(git statusコマンドは使用中のブランチを確認することもできる)
-
-
コミットの履歴を確認する
git log
-
git log -p
※ファイルの差分も確認できる
差分を確認
-
ファイルの差分を確認
-
git diff
※ローカルリポジトリ(ワークツリー)とステージングエリア -
git diff --cached
※ステージングエリアとGitディレクトリ(前回のコミット)の差分
-
-
今使っているブランチをmasterブランチと比較
git diff master
状態の復元
-
編集内容を取り消す
-
git checkout ファイル名
例)git checkout -- Git_memo.md
※ファイルの状態が直前のコミット(または直前のステージングエリア)に戻る。
※ファイルを新規作成したり、ファイル名を変更した時は、操作を取り消せないので自分で削除する
-
-
ステージングを取り消す(編集内容は残る) = コミット予約の取り消し
-
git reset ファイル名
例)git reset HEAD Git_memo.md
※HEADは最後にコミットした状態。つまり最後のコミットと同じ状態にリセットする
※ファイルの状態はそのままでステージングエリアへの登録だけを取り消す
-
戻る
-
特定のコミットに戻す
-
git reset --hard コミットid
※コミットidは、git logコマンドで調べて、戻りたいコミットのidを指定
※戻った以降のコミットをなかったことにする(コミットログが消える)
※masterではなくブランチの場合は切り替えを忘れずに。 -
git revert コミットid
※コミットログを残したまま戻る。
※非推奨
-
-
特定のファイルのみ、コミットのバージョンを戻す
git checkout コミットid ファイルパス
ブランチ
-
ブランチの作成
git branch ブランチ名
-
使用中のブランチを確認
-
git branch
※先頭にアスタリスクが付いているのが今使っているブランチ
-
-
ブランチ切り替える(=チェックアウト)
git checkout master(使いたいブランチ名)
-
チェックアウトと同時にブランチを作成する
git checkout -b ブランチ名
-
ブランチの削除(ローカルレポジトリ) ※マージ済みのブランチを削除する
-
git branch --delete ブランチ名
or git branch -d ブランチ名
-
-
ブランチの削除(ローカルレポジトリ) ※マージ状況に関わらずブランチを削除する
git branch -D ブランチ名
-
ブランチの削除(リモートレポジトリ)
-
git push --delete origin ブランチ名
or git push origin :ブランチ名
-
アップロード
- 現在のローカルリポジトリの内容をリモート側(GitHub側)にアップロードする
-
git push
例)git push origin master
例)git push origin ブランチ名 ※originはプッシュ先のリモートリポジトリの名前を表す
-
merge と rebase
-
rebase
-
git rebase
つなぐ元にするブランチ名 -
git rebase -i
ひとまとめにする地点の一つ前のコミットID
-
-
merge
git merge マージ元(取り込みたいブランチ名など)
リモートリポジトリの内容をローカルリポジトリに取り込む
-
pull (取得内容がワークツリーにまで反映される)
-
git pull origin master(プルするブランチ名)
※originはプル先のリモートリポジトリの名前を表す
-
-
fetch (ローカルリポジトリへの取得しか行わず、ワークツリーには反映させない)
-
git fetch origin
※originはフェッチ先のリモートリポジトリの名前を表す
-
注意
ブランチを切り替えずにgit pullコマンドを実行すると、今使っているローカルリポジトリのブランチに、リモートリポジトリのmasterブランチがマージされてしまうので注意しましょう。
- ローカルリポジトリに存在しないブランチを取得するコマンド
-
git fetch origin
↓続けて git checkout ブランチ名
-
リモートレポジトリの設定
- リモートレポジトリの設定を確認する
git remote -v
コミット&プッシュのサイクル
$ git add ファイル名
↓
$ git commit -m "コミットメッセージ"
↓
$ git push origin master