🙄

【初心者用】Gitに関する入門書を読んだのでまとめてみた.

2024/06/13に公開

はじめに

Gitの入門書で勉強をしたので,そのまとめを行いました!
他にもぜひ覚えるべきコマンドがあれば教えてください!
以下の図書を参考にしました。
https://amzn.to/3VFwHWF

.inputrcファイルについて

  • タブ連打で候補が切り替わる。
    "\t":menu-complete
    set completion-ignore-case on
    

3つの場所を抑える

  • 各エリアの説明
    • ワークツリー: 変更するファイルを保持する場所
    • ステージングエリア: コミットするファイルを登録する場所
    • Gitディレクトリ: コミットを格納する場所

git status vs git diff

git status

  • ワークツリーとステージングエリアの状態を表示する。
    • 変更されたファイル: ワークツリーで変更されたファイルの一覧
    • ステージされていない変更: ワークツリーで変更されたファイルのうち、まだステージされていない変更
    • ステージされた変更: ワークツリーで変更されたファイルのうち、ステージされた変更

git diff

  • 変更された内容の差分を表示する。
    • オプション
      • オプションなし: ワークツリーとステージングエリアの差分を表示
      • --unstaged: ワークツリー上の変更の差分を表示
      • --staged: ステージされた変更の差分を表示
      • --cached: コミット済みの内容とステージされた変更の差分を表示
      • --color: 差分を色分けして表示
    • git diff ブランチ名: 現在使用中のブランチとブランチ名との差分を表示

git log

  • オプション
    • -p: 差分を表示する

git reset vs git checkout

git resetやgit checkoutでHEADや過去のコミットから作業ツリーに内容を戻すときの変更は必ずステージを経由する

  • HEADを過去のコミットに移動する:git reset --soft <コミット>
  • HEADを過去のコミットに移動し、ステージの内容を移動先のコミットの状態に戻す:git reset --mixed <コミット>
  • HEADを過去のコミットに移動し、ステージと作業ツリーの内容を移動先のコミットの状態に戻す:git reset --hard <コミット>

git checkout

  • ブランチを移動
    git checkout ブランチ名
    
  • ブランチの作成と移動を同時に行う
    git checkout -b ブランチ名
    
  • ローカルリポジトリに存在しないブランチを取得する
    git fetch origin
    git checkout ブランチ名
    

git config

local vs global vs system

  • --local: 対象リポジトリ内の .git/config
  • --global: C:¥Users¥[user]¥.gitconfig
  • --system: 場所はまちまち。例としては C:¥Program Files (x86)Git¥etc¥gitconfig

editorをVScodeに変更する方法

git config --global core.editor "code --wait"

git rm

  • ステージングエリアに消したことを登録し、コミットする必要がある
    git rm -r パス
    

git add . vs git add -A

  • どちらも削除されたファイルや変更されたファイルすべてをインデックスにaddされる。厳密にはgit add .はカレントディレクトリを表すのですべてがaddされるわけではないことに注意。

git commit

  • オプション
    • -m "" : ""をコミットメッセージとしてコミットする
    • -a : git add も同時に行う。注意点はすでにステージングエリアにあるファイルのみコミットする。つまりuntrackedなファイルはステージングエリアに移動しない
    • -am "" : 上記2つを組み合わせたもの

git branch

  • ブランチを作成

    git branch ブランチ名
    
  • ブランチを削除

    • -d ならばマージ済みのブランチを削除し、-Dならばマージ状況に関わらずブランチを削除する。ちなみにdはdeleteの略
    git branch -d(D) ブランチ名
    
  • リモートリポジトリのブランチを削除(いずれか)

    git push --delete origin ブランチ名
    git push origin :ブランチ名
    

GitHub

  • origin URLを確認する

    $ git remote -v
    
  • origin とは
    リモートリポジトリのデフォルト名。GitHubでは一つのローカルリポジトリに対して複数のリモートリポジトリを設定できる。

参考文献

https://amzn.to/3VFwHWF

Discussion