PC及びターミナルの環境
MacBookPro(13-inch, M1, 2020)
チップ:Apple M1
使用アプリ:ターミナル(Mac標準搭載)
ターミナル環境:Homebrew
シェル:zsh
このページの読み方
| 何の略語なのか
コマンドの意味
使い方の例
# 解説や補足など
git init
|initialize
リポジトリを新規作成 または既存のリポジトリを初期化する
git remote
|remote
リモートリポジトリとの関連付けをする
下記のようなサブコマンドが存在する
- git remote add
現在のローカルリポジトリにリモートリポジトリを追加する
git remote add origin https://hogehoge.com/fugafufa.git
# git remote add リモートリポジトリ名 リモートリポジトリのURL
- git remote rm
|remove
現在のリポジトリからリモートリポジトリを削除する
git remote rm origin
# git remote rm リモートリポジトリ名
# rmはremoveとしてもOK
- git remote rename
|rename
リモートリポジトリの名前を変更する
git remote rename origin neworigin
# git remote rename リモートリポジトリ名 変更後のリモートリポジトリ名(新しい名前)
- git remote show
|show
リモートリポジトリの情報を詳しく表示する
git remote show origin
# git remote show リモートリポジトリ名
- git remote -v
リモートリポジトリの名前と場所(URL)を表示する
git remote -v
git add
|add
共有したいファイルを選択し、インデックス(ステージング領域)へ追加しコミットの対象とする
git add hoge.rb
# git add ファイル名
git commit
|commitment
変更内容を確約(commitment)=セーブする
git commit -m 'First commit'
# git commit -m 'メッセージ内容'
※メッセージの内容を「コミットメッセージ」と呼び、コミットの内容を端的に明記できる(コミットメッセージはわかりやすいものが良い)
git status
|status
変更したファイルを把握する(新規作成したファイルや変更、削除したものなどを確認できる)
git push
|push
ファイルをリモートリポジトリへプッシュ(アップロード)する
git push origin master
# git push リモートリポジトリ名 ブランチ名
masterブランチがリポジトリにないときは下記のようにする
git push -u origin master
# git push -u リモートリポジトリ名 ブランチ名
git pull
|pull
ファイルをリモートリポジトリからプル(ダウンロード)する
git pull origin master
# git pull リモートリポジトリ名 ブランチ名
git fetch
|fetch
リモートリポジトリ上のブランチ情報をローカルの追跡ブランチとして取得(fetch)・反映する
git diff
|difference
ワークツリー内のファイル変更内容(差分)を確認する
git log
|log
コミット時のログ(過去のコミット履歴)を確認する
git show
|show
過去、具体的にどのような内容のコミットをしたのかを確認(show)する
git show 3fbede60cc38c548b5ed663ecf60da086983b5d8:test.txt
# git show コミットID:ファイル名
git branch & git checkout
|branch
|checkout
ブランチを作成・一覧表示する
git branch first-branch
# git branch ブランチ名
下記のようなオプションが存在する
- git branch -d
ブランチを削除する
git branch -d first-branch
#git branch -d 削除したいブランチ名
ブランチを作成と同時に切り替えるときには「checkout」を用いると便利
オプションと組み合わせて使うことが多い。
- git checkout -b
ブランチの作成と移動(切替)を同時に行う
git checkout -b first-branch
#git checkout -b ブランチ名
- git chekout -c
現在のブランチを複製する
git checkout -c hoge
# git checkout -c ブランチ名
git merge
|merge
現在いるブランチに別のブランチを統合(merge)する
git merge first-branch
# git merge ブランチ名
git switch
|switch
ブランチを切り替える(switch)
checkoutコマンドは git checkout .
で現在のワークツリーの修正を取り消しできるがswitchは切替専用
git switch hoge
# git switch ブランチ名
# git checkout ブランチ名 と同義
git stash
|stash
現在の修正内容を一時的に退避(stash=隠すの意味)させる
対比させた内容を戻す際は下記のようにする
git stash pop
git rebase
|re base
過去のコミット(base=土台)を修正(re=戻す)する
git rebase -i HEAD~2
# git rebase -i 過去のコミット内容
# 対話形式で過去のコミットを修正することができ過去のコミットをまとめることもできる
git revert
|revert
対象のコミットで行われた変更を取り消す(revert=元に戻す)
間違って行ったコミットをプッシュした場合、打ち消す時などに使える
git revert 3a8461e04c04ed94a64df5d2cd7adbe764a2b8d8
# git revert コミットID
git rm
|remove
gitの管理を行なっているファイルを削除する
※監視下に置かないファイルは「.gignore」へ入れる
git rm --cache
# git上では対象ファイルを削除するがワークツリー上に残す際のコマンド
git reset
|reset
変更を取り消し(reset)てコードを前の状態に戻す
一度取り消してしまうと元に戻すことができないため扱いには注意が必要!!
git reset --soft 3f1bacfbddecc843708714f2f0e27685a01b6bb3
# git reset --soft ID名(他のレベルも同様に記載)
削除レベルは下記の3段階
- git reset --soft
コミットのみ取り消す(コミットは削除されるが、コミットに含まれていたコードの変更はインデックスに残された状態)
git reset --soft HEAD^
# 直前のコミットはなくなり、修正内容はインデックスに置かれる状態
- git reset --mixed
コミットとインデックスの変更を取り消す(コードの変更は作業ツリーに残された状態)
git reset --mixed HEAD^
# 直前のコミットはなくなり、修正内容はワークツリーに置かれる状態
# git resetとgit reset --mixedは同じ挙動
- git reset --hard
変更を全て取り消す
git reset --hard HEAD^
# 直前のコミット記録と合わせて変更内容ごと削除される