| 50行目: | 50行目: | ||
|<code>git commit -a --amend --no-edit</code> || 修正を直前のコミットに吸収 | |<code>git commit -a --amend --no-edit</code> || 修正を直前のコミットに吸収 | ||
|- | |- | ||
|<code>git rebase -i HEAD~ | |<code>git rebase -i HEAD~10</code> || log10行表示。先頭rでメッセージ変更可 | ||
|- | |- | ||
|<code>git unstage <file></code> || reset HEAD のエイリアス。fileをステージから外す | |<code>git unstage <file></code> || reset HEAD のエイリアス。fileをステージから外す | ||
2026年4月23日 (木) 10:21時点における最新版

Git はLinuxを作ったリーナスによって、カーネルのバージョン管理のために開発された。
- ブランチ/マージを繰り返しながら気軽に開発や最適化の試行錯誤ができる
- ブランチを繰り返しmasterから階層が離れるほど不安定バージョンになる
- ディレクトリを指定した場合は、そのディレクトリ以下にあるすべてのファイルを再帰的に追加
- GitHub はWeb上のバックアップとしても使える
TIPs
- 別ブランチのファイルをチラ見したい「git show sub:client/components/MyComponent.tsx」
- 最初からコミットルール統一しないと後々rebaseの時にコンフリクトが大量発生してrebaseできない
よく使う操作
| コマンド | 説明 |
|---|---|
git config --list |
設定オプションを表示 |
git config --global alias.bv 'branch -v' |
エイリアスを設定 |
git config --global --unset alias.bv |
エイリアスの解除 |
git help |
ヘルプの表示 |
git status |
ステージの現状 |
git status -s |
ステージの現状(簡略版) |
git log |
過去の変更履歴を閲覧。HEADポインタの表示 |
git log -p -2 |
変更履歴の詳細を2件表示 |
git log --stat |
変更履歴の分量を統計的に表示 |
git last |
'log -1 HEAD'エイリアス。直近のログ |
git pull --rebase |
pull してベースを合わせる |
git add . |
新規・変更・削除されたファイルをステージ |
git add -u |
既存ファイルの変更・削除のみステージング |
git commit -m "Comment" |
ステージング済み変更をコミット |
git commit -am "Comment" |
変更が既存ファイルのみの場合に add を省略 |
git commit -a --amend |
変更を直前コミットに吸収。コメントも編集可 |
git commit -a --amend --no-edit |
修正を直前のコミットに吸収 |
git rebase -i HEAD~10 |
log10行表示。先頭rでメッセージ変更可 |
git unstage <file> |
reset HEAD のエイリアス。fileをステージから外す |
git checkout -- <file> |
変更の巻き戻し |
git rm |
ファイルの追跡を中止(次回コミット時に反映される) |
git mv |
git にファイル名の変更を知らせる |
git branch |
ブランチの現状 |
git branch -v |
各ブランチの直近のコミットコメントを表示 |
git branch --no-merged |
マージされた事のないブランチ |
git branch hoge |
ブランチの作成 |
git checkout hoge |
hogeブランチへ切り替え |
git checkout -b fuga |
fugaブランチを作成しつつ切り替え |
git log --oneline --decorate --graph --all |
マージの歴史 |
git merge hoge |
ブランチをマージ(通常はmasterでマージする) |
git branch -d hoge |
ブランチの削除(通常はマージ後に不要になる為) |
git diff |
直近ステージ済みとの差分を確認 |
git diff --staged |
直近コミットとの差分を確認 |
git tag |
タグの確認(リリースポイントとして活用など) |
リモート操作
| コマンド | 説明 |
|---|---|
git clone --bare my_project my_project.git |
サーバ用リポジトリの作成 |
git clone <URL> |
指定のプロジェクトをクローン |
git remote -v |
登録されているリモートプロジェクトを表示 |
git remote add pb https://github.com/paulboone/ticgit |
「pb」でアクセスできるようにする |
git remote rename pb paul |
「pb」を「paul」にリネーム |
git remote rm paul |
リモート「paul」を削除 |
git fetch origin |
「origin」からプロジェクトの変更情報を取得 |
git pull origin |
「origin」からの変更情報のマージを試みる |
git push [remote-name] [branch-name] |
修正内容をリモートにプッシュ |