1. git のワークフロー#
- Workspace:作業領域
- Index / Stage:ステージング領域
- Repository:リポジトリ領域(またはローカルリポジトリ)
- Remote:リモートリポジトリ
2. 初回のメールアドレスとユーザー名の設定#
git config --global user.name "XXX"
git config --global user.email "XXXX-XXX"
二段階認証が設定されている場合、パスワードをトークンに設定する必要があります
git config --global user.password "トークンの値"
3. 使用の開始#
3.1. リポジトリの作成と管理リポジトリの初期化#
git init
コマンドを実行すると、フォルダ内に.git フォルダが表示されます
3.2. Git の基本的な使用方法#
git add readme.txt —— ファイルをステージング領域に追加
git commit -m "コメント" —— ファイルをローカルリポジトリにコミット
git status —— コミットの状態を確認
git log —— コミット履歴を確認
git log --pretty=oneline —— 簡潔なコミット履歴を確認
git reflog —— バージョン番号を取得(コミットのハッシュの最初の 6 文字)
3.2.1. ロールバック操作#
git reset --hard HEAD^ —— 前のバージョンにロールバック
git reset --hard HEAD^^ —— 前の前のバージョンにロールバック
git reset --hard HEAD~n —— 指定した n 番目のバージョンにロールバック
git reset --hard バージョン番号 —— 指定したバージョンにロールバック
3.2.2. 変更の取り消し#
ロールバック操作と同じ効果
git checkout -- readme.txt ——readme ファイルの作業領域の変更を取り消す(ステージング領域の状態に戻る)
git restore readme.txt —— これは上記と同じ効果の現在の操作です
3.2.3. 未コミットのファイルの削除と復元操作#
git checkout -- a.txt
git checkout a.txt
git restore a.txt
上記の操作は、git add a.txt を実行したが、git commit せずに rm a.txt を実行した後に a.txt を復元するために使用できます
3.2.4. リモート接続操作#
GitHub で新しいリポジトリを作成する
git remote add origin リモートリポジトリの URL —— リモートリポジトリに接続する
git branch -M main —— 現在のブランチを main にリネームする(-M は強制変更を意味する)
git push -u origin main ——main ブランチをリモートに同期する(最初のリポジトリが空の場合、-u パラメータを追加する必要がある)
3.2.5. ブランチ操作#
git branch —— ブランチを表示
git branch name —— ブランチを作成
git checkout name —— ブランチを切り替え
git checkout –b name —— ブランチを作成して切り替え
git merge name ——name ブランチを現在のブランチにマージ
git merge --no-ff -m "コメント" dev ブランチ ——Fast forward マージ戦略をキャンセル
git branch –d name —— ブランチを削除
git branch -M (-m) oldname newname —— ブランチ名を変更
3.2.6. バグブランチ#
git stash —— 作業場所を一時的に隠す
git stash list —— 隠された作業場所を表示
git stash apply —— 作業場所を復元
git stash drop —— 作業場所を削除
git stash pop —— 作業場所を復元して削除
3.2.7. マルチユーザー協力#
git remote —— リモートリポジトリの情報を表示
git remote -v —— リモートリポジトリの詳細情報を表示
git push origin dev ——dev ブランチをリモートにプッシュ
git checkout -b dev origin/dev —— リモートの origin の dev ブランチをローカルに作成
3.3. いくつかのオプションの説明#
-d --delete:削除
-D --delete --force のショートカット
-f --force:強制
-m --move:移動または名前の変更
-M --move --force のショートカット
-r --remote:リモート
-a --all:すべて