3
2

More than 3 years have passed since last update.

Gitコマンド

Last updated at Posted at 2019-05-03

Gitの設定

  • 設定ファイルを作る
    • git config
    • git config --list ※Gitの設定内容を確認する

リポジトリの作成

  • カレントディレクトリにローカルリポジトリの作成する
    • git init

コミットの作成

  • ステージングエリアに変更を登録する =コミット予約

    • git add
    • git add . ※カレントディレクトリ配下の全てのファイルを追加
    • git add subDirectory ※「subDirectory」ディレクトリ配下のファイルを全て追加
    • git add subDirectory/file1.md ※「subDirectory」ディレクトリ配下の file1.md を追加
  • 変更したファイルをまとめてステージングエリアに追加する

    • git add -A ※「-A」は、「--all」とも書ける
  • コミットを作成する

    • git commit
    • git commit -m "コミットメッセージ" ※1行コミットのみ
  • 更新されたファイルをステージングエリアに追加して、そのままコミットする

    • git commit -am "コミットメッセージ" ※新規ファイルの場合はgit addコマンドを使う必要がある
  • Git管理下のファイルやディレクトリを削除する

    • git rm
    • gir rm -r ※ディレクトリの場合は「-r」オプションを付ける

状態の確認

  • ローカルリポジトリの状態を確認する ※ファイルの状態を確認

    • git status
      (git statusコマンドは使用中のブランチを確認することもできる)
  • コミットの履歴を確認する

    • git log
    • git log -p ※ファイルの差分も確認できる

差分を確認

  • ファイルの差分を確認

    • git diff ※ローカルリポジトリ(ワークツリー)とステージングエリア
    • git diff --cached ※ステージングエリアとGitディレクトリ(前回のコミット)の差分
  • 今使っているブランチをmasterブランチと比較

    • git diff master

状態の復元

  • 編集内容を取り消す

    • git checkout ファイル名
        例)git checkout -- Git_memo.md
        ※ファイルの状態が直前のコミット(または直前のステージングエリア)に戻る。
        ※ファイルを新規作成したり、ファイル名を変更した時は、操作を取り消せないので自分で削除する
  • ステージングを取り消す(編集内容は残る) = コミット予約の取り消し

    • git reset ファイル名
         例)git reset HEAD Git_memo.md
         ※HEADは最後にコミットした状態。つまり最後のコミットと同じ状態にリセットする
         ※ファイルの状態はそのままでステージングエリアへの登録だけを取り消す

戻る

  • 特定のコミットに戻す

    • git reset --hard コミットid
      ※コミットidは、git logコマンドで調べて、戻りたいコミットのidを指定
      ※戻った以降のコミットをなかったことにする(コミットログが消える)
      ※masterではなくブランチの場合は切り替えを忘れずに。
    • git revert コミットid
      ※コミットログを残したまま戻る。 ※非推奨
  • 特定のファイルのみ、コミットのバージョンを戻す

    • git checkout コミットid ファイルパス

ブランチ

  • ブランチの作成

    • git branch ブランチ名
  • 使用中のブランチを確認

    • git branch ※先頭にアスタリスクが付いているのが今使っているブランチ
  • ブランチ切り替える(=チェックアウト)

    • git checkout master(使いたいブランチ名)
  • チェックアウトと同時にブランチを作成する

    • git checkout -b ブランチ名
  • ブランチの削除(ローカルレポジトリ) ※マージ済みのブランチを削除する

    • git branch --delete ブランチ名
         or
    • git branch -d ブランチ名
  • ブランチの削除(ローカルレポジトリ) ※マージ状況に関わらずブランチを削除する

    • git branch -D ブランチ名
  • ブランチの削除(リモートレポジトリ)

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

アップロード

  • 現在のローカルリポジトリの内容をリモート側(GitHub側)にアップロードする
    • git push
         例)git push origin master
         例)git push origin ブランチ名 ※originはプッシュ先のリモートリポジトリの名前を表す

merge と rebase

  • rebase

    • git rebase つなぐ元にするブランチ名
    • git rebase -i ひとまとめにする地点の一つ前のコミットID
  • merge

    • git merge マージ元(取り込みたいブランチ名など)

リモートリポジトリの内容をローカルリポジトリに取り込む

  • pull (取得内容がワークツリーにまで反映される)

    • git pull origin master(プルするブランチ名)
      ※originはプル先のリモートリポジトリの名前を表す
  • fetch (ローカルリポジトリへの取得しか行わず、ワークツリーには反映させない)

    • git fetch origin
      ※originはフェッチ先のリモートリポジトリの名前を表す

注意
ブランチを切り替えずにgit pullコマンドを実行すると、今使っているローカルリポジトリのブランチに、リモートリポジトリのmasterブランチがマージされてしまうので注意しましょう。

  • ローカルリポジトリに存在しないブランチを取得するコマンド
    • git fetch origin
          ↓続けて
    • git checkout ブランチ名

リモートレポジトリの設定

  • リモートレポジトリの設定を確認する
    • git remote -v

コミット&プッシュのサイクル

$ git add ファイル名
   ↓
$ git commit -m "コミットメッセージ"
   ↓
$ git push origin master

3
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2