📉
【Git】GitHub Desktopの操作をコマンドベースで理解する
GitHub Desktopの主要な操作をGitコマンドに対応させながらまとめています。
1. コミット
git add . # すべての変更をステージング
git commit -m "コミットメッセージ" # メッセージを添えてコミット
2.リモートリポジトリにプッシュ
git push origin <branch_name>
3. ブランチを作成
git branch <branch_name> # 新しいブランチを作成
git checkout <branch_name> # 作成したブランチに切り替え
4. ブランチをマージ
git checkout <target_branch> # マージ先のブランチに切り替え
git merge <source_branch> # マージ元のブランチを指定してマージ
5. Rebase
git checkout <feature_branch> # Rebaseしたいブランチに切り替え
git rebase <main_branch> # 対象のベースブランチでRebase
Rebaseの概念図
Rebaseは、変更履歴を最新のベースブランチの状態に再適用する操作です。
Rebaseした状態をリモートに git push --force で上書きすると、
リモートの履歴も書き換わります。公開済みブランチでRebaseを行う場合は注意が必要です。
Before Rebase:
main: A---B---C
feature: B---X---Y
After Rebase:
main: A---B---C
feature: C---X---Y
6. Squash
複数のコミットを1つにまとめる操作です。
git rebase -i HEAD~<number_of_commits> # インタラクティブRebaseを開始
Squashの概念図
Before Squash:
Commit A
Commit B
Commit C
After Squash:
Commit ABC
7. Undo(変更の取り消し)
対応するGitコマンド
git checkout -- <file_name> # 指定ファイルの変更を取り消す
8. その他の操作
Amend Commit(直前のコミットを修正)
git commit --amend -m "修正後のメッセージ"
Reset to Commit(指定したコミットにリセット)
git reset [--soft|--mixed|--hard] <commit_hash>
Checkout Commit(特定のコミットをチェックアウト)
git checkout <commit_hash>
Reorder Commit(コミットの順序を並べ替え)
git rebase -i <commit_hash>
Revert Changes in Commit(コミットの変更を打ち消す)
git revert <commit_hash>
Create Branch from Commit(特定のコミットからブランチを作成)
git branch <new_branch_name> <commit_hash>
Cherry-pick Commit(特定のコミットを別ブランチに適用)
git cherry-pick <commit_hash>
Discussion