@applejxd

雑記帳

Git メモ

目次

基本

各種設定

初期ユーザ設定

git config --global user.name "Alice"
git config --global user.email alice@example.com

GitHub で匿名アドレスを使う場合

リモートリポジトリ設定

gitignore 設定

ブランチ操作

基本は以下。

# リモートブランチをチェックアウト
git checkout -b develop origin/develop

# デフォルトブランチの変更:master → main
git branch -m master main
git fetch origin
git branch -u origin/main main

# 一部まで push
git push origin [commit_ID]:refs/heads/[branch_name]

内容を選別して merge する場合はこれ。

git merge --no-commit --no-ff ${branch_name}
git reset . # 一旦すべて unstage
# 内容を確認しながら一つずつ git add していく

コミットをまとめる

CLI で全コミットを一つにまとめる方法は以下。

# 新しいブランチ作成・全てステージング
git checkout --orphan new-branch
git add -A

# コミット作成
git commit -m "Squashed commit"

# ブランチ削除・置き換え
git branch -D main
git branch -m main

#上書き
git push origin main --force

一部のコミットを Squash してまとめるには VSCode の GitLens による Interactive Rebase が便利。

  1. コマンドパレットから GitLens: Enable Interactive Rebase Editor を事前に設定しておく。
  2. コマンドパレットから GitLens: Git Rebase
  3. 変更をかけないコミットのうち最も新しいコミットを親として選択。
  4. Squash 選択で統合対象のコミットを指定。
  5. コミットメッセージの編集画面が出るので変更して保存・タブを閉じて終了。

リポジトリ操作

差分比較・パッチ作成

CLI 操作としては以下。

# コミットしていない変更をパッチ化
git diff > diff.patch
# コミット(SHA)・ブランチ間の変更をパッチ化
git ${New SHA or Branch name}..${Old SHA or Branch name} > diff.patch

VSCode の GitLens を使う方法は以下。

  1. GitLens Inspectタブを開く
  2. Search & Compare 欄を展開
  3. Compare References ボタンを押下
  4. New → Old の順でコミット・ブランチを選択
  5. New に HEAD を選んでおけば Old からの部分指定 Revert が可能

リセット

やり直し

Tips

コマンド等

その他

プラグイン等