LoginSignup
1

Git/GitHub 基本コマンドまとめ【①超基本編】

Last updated at Posted at 2022-12-03

概要

Git/GitHubで利用する基本的なコマンドを、備忘録としてまとめました。

▼参考文献
学習にあたり、下記の書籍を参考にしました。
初学者にも分かりやすくおすすめです。
GitHub実践入門 ~Pull Requestによる開発の変革

▼そもそも用語が分からない…という方におすすめのサイト
【イラストで覚える】初心者のためのGitとGitHub用語集

リポジトリの作成・登録

手順

  • アプリケーションのディレクトリを作成
  • アプリケーションのディレクトリ上で、ローカルリポジトリを作成(git init
  • GitHub上で、リモートリポジトリを作成
  • リモートリポジトリを登録(git remote add

git init

ローカルリポジトリを作成するコマンド。
すでに存在するリポジトリの初期化にも使用される。
 ※アプリケーションのルートディレクトリで実行

Terminal
$ git init    : ローカルリポジトリを作成/初期化

git remote add

リモートリポジトリを登録するコマンド。

Terminal
$ git remote add origin リポジトリURL   : URLのリモートリポジトリを'origin'という名前で登録

ここで、origin はリモートリポジトリの識別子(名前)として登録されます。
上記コマンドを実行すると、以降 origin という名前で
URLのリモートリポジトリが指定できるようになります。

なお、リポジトリURL = git@github.com:ユーザ名/リポジトリ名 です。

ファイルの変更 ~ コミット

手順

  • ワークツリーでファイルを変更
  • 変更ファイルをステージ(=インデックス)に追加(git add
  • ステージ上のファイルをローカルリポジトリにコミット(git commit

git add

ステージにファイルを追加するコマンド。

Terminal
$ git add .           :  全ての変更ファイルをステージに追加
$ git add -A          :             〃
$ git add ファイル名   :  指定ファイルのみ ステージに追加

git addを取り消す

git addを取り消したいときは、下記コマンドを実行。

Terminal
$ git reset             :  git addを取り消し(全ファイル)
$ git reset ファイル名   :  git addを取り消し(指定ファイル)

git commit

ステージ上のファイルを、ローカルリポジトリにコミットするコマンド。

Terminal
$ git commit -m "コミットメッセージ"   : ローカルリポジトリにコミット

$ git commit    : エディタが起動し、詳細なコミットメッセージを作成できる
          メッセージを入力し、エディタを終了 → コミットを完了
          メッセージを入力せず、エディタを終了 → コミットを中止

git commitを取り消す

コミットメッセージを修正したいときは、下記コマンドを実行。
 ※ 直前のcommitのみ有効

Terminal
$ git commit --amend -m "コミットメッセージ"   : 直前のコミットのコミットメッセージを修正

$ git commit --amend  : エディタが起動し、詳細なコミットメッセージを作成できる
                  メッセージを入力し、エディタを終了 → 修正を完了
                  メッセージを入力せず、エディタを終了 → 修正を中止

git commitを取り消したいときは、下記コマンドを実行。

  • コミットIDは git log を使って調べられます。
  • 直前のコミットの場合は、HEAD で指定すればOK
Terminal
$ git reset --soft コミットID     : commitのみ取り消し
$ git reset --mixed コミットID    : commit、addを取り消し
$ git reset コミットID            : commit、addを取り消し(mixedと同じ)
$ git reset --hard コミットID     : commit、addを取り消し、ワークツリーも修正

リモートリポジトリにプッシュ/リモートリポジトリからコードを取得

  • コミットしたファイルを、ローカルリポジトリから リモートリポジトリにプッシュ(git push
  • リモートリポジトリから最新のコードを取得(git pull

git push

コミットしたファイルを、ローカルリポジトリからリモートリポジトリにプッシュするコマンド。

Terminal
$ git push -u origin master       : originリポジトリのmasterブランチにpush
$ git push -u origin ブランチ名     : originリポジトリの指定ブランチにpush

ここで、-uオプションを加えることで、
作業中のブランチの上流(= upstream)を origin の指定ブランチ に設定できます。
つまり、git pull コマンドを実行するとき、特に指定しなくてもorigin の指定ブランチから取得できます。

git pull

リモートリポジトリから最新のコードを取得し、ワークツリーに反映するコマンド。

Terminal
$ git pull origin master       : originリポジトリのmasterブランチのコードを取得
$ git pull origin ブランチ名     : originリポジトリの指定ブランチのコードを取得

合わせて知っておきたいコマンド

  • リポジトリの状態を表示(git status
  • 変更の差分を表示(git diff
  • コミットログを表示(git log
  • 作業ログを表示(git reflog

git status

リポジトリの状態を表示するコマンド。

Terminal
$ git status      : リポジトリの状態を確認

①今いるブランチ名
②コミットが1度もされていないかどうか
③ファイルの変更・add・commitの状態   が確認できます。
 ※ 出力結果の見方は別記事で投稿します。

git diff

変更の差分を表示するコマンド。

Terminal
$ git diff          : ワークツリーとステージ間の差分を表示
$ git diff HEAD          : ワークツリーと最新コミット間の差分を表示
$ git diff コミットID     : ワークツリーとコミット間の差分を表示

git log

現在のリポジトリにコミットされたログを表示するコマンド。

Terminal
$ git log             : 全てのコミットログを表示
$ git log --pretty=short      : 全てのコミットログを表示 /コミットメッセージを要約(1行目のみ)
$ git log -p           : 全てのコミットログを表示 /ファイルの差分も表示
$ git log --graph         : 全てのコミットログを表示 /図で視覚的に分かりやすい

$ git log ディレクトリ名     : 指定ディレクトリ下のファイルのみ、コミットログを表示
$ git log ファイル名       : 指定ファイルのみ、コミットログを表示

git reflog

現在のリポジトリで行われた作業ログを表示するコマンド。

Terminal
$ git reflog      : 作業ログを表示
  • git loggit reflog の違い
    git log はその状態からの過去のログしか確認できませんが、git reflog は全てのログを確認できます。
    また、git log はコミットログしか確認できませんが、git reflog はコミット以外のマージ、チェックアウトなど、全ての作業のログを確認できます。
    そのため、git reset を実行して歴史を戻った後、戻った分の歴史を復元する時などに使うことができます。
    git logではgit reset後の状態が最新となるため、戻った分の歴史は表示されません)

まとめ

  • リポジトリの作成・登録(git initgit remote add
  • ファイルの変更 ~ コミット(git addgit commit
    取り消し・修正(git resetgit commit --amend
  • リモートリポジトリにプッシュ(git push
  • リモートリポジトリからコードを取得(git pull
  • 合わせて知っておきたいコマンド(git statusgit diffgit loggit reflog

以上、個人の開発で必須レベルのコマンドをまとめてみました。
同じく初心者の方の助けになれば幸いです。

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
1