「git clone」してから開発する上で、困らないようにするための最低限の備忘録です。
Debian 12.5 Git 2.39.2
設定
ユーザー名とE-mailアドレスを設定する。
設定は~/.gitconfigに保存される。--global
を付けない場合はリポジトリのローカル設定ファイルに保存される。
$ git config --global user.name "username" $ git config --global user.email "user@hirohiro716.com"
認証情報を平文で記憶させる。
--global
を付けない場合、credential.helperという設定値のみがリポジトリのローカル設定に保存され、認証情報は~/.git-credentialsに平文で保存される。
$ git config --global credential.helper store
基本的な操作
ワークツリーの状態を確認する。
$ git status
リモートも含めてブランチ一覧を表示する。
※-aに省略可能
$ git branch --all
リモートの別のブランチに変更する。
$ git switch branch2
ローカルに現在のブランチの派生ブランチを作成する。
$ git branch branch3
作成したローカルのブランチに切り替える。
$ git checkout branch3
作成したローカルのブランチをリモートにpushする。
※-uに省略可能
$ git push --set-upstream origin branch3
コミット関連の操作
変更したファイルをステージングエリアに追加する。
$ git add test.txt
変更したファイルをすべてステージングエリアに追加する。
$ git add .
commitを作成する。
※-mに省略可能
$ git commit --message "Commit message"
作成したcommitをリモートにpushする。
$ git push
commitのログを表示する。
$ git log
特定ファイルのcommitのログを表示する。
$ git log *.txt
特定のコミットを取り消すコミットを作成
取り消す対象commitを指定する。複数人で開発している場合や、履歴を残したい場合はこちらを使用する。
$ git revert HEAD $ git push
HEADを前の状態に戻して履歴からも削除
戻したい状態(commit)を指定する。すべてなかったことになるので、個人開発で誤ってpushした場合はこちらを使用する場面が多い。
※HEAD^はHEADの1つ前のcommitを指す
※--soft
で変更ファイルをステージングエリアに残す
※--mixed
で変更ファイルをステージングエリアから取り除いて残す
※--hard
ですべての変更を破棄してHEAD^の状態に戻す
$ git reset --mixed HEAD^ $ git push --force