1
1

More than 1 year has passed since last update.

Git コマンド 基本 + その他

Posted at

Git で出来ること

  • ファイルのバージョン管理
  • 以前の状態に戻せる
  • チームでスムーズに開発できる

GitHub で出来ること

  • コードの共有
  • コードレビュー
  • OSS に参加

Git 基本コマンド

git init

ローカルリポジトリを新規に作成する。

$ git init

git add , git commit

ローカルの変更内容をステージにあげる。ファイル名を指定。. は全ファイル。

$ git add <ファイル名>

$ git add .

ステージに上げたものを、コミットし、リポジトリにあげる。

$ git commit -m "コミットメッセージ"

git diff , git status

リポジトリとワークツリーの差分をチェックする。

$ git diff

リポジトリとステージの差分をチェックする。

$ git diff --staged

変更ファイルをチェックする。

$ git status

git log

変更履歴を確認する。

$ git log

git restore

ワークツリーの変更を取り消す。

$ git restore <ファイル名>

ステージにあげた変更をワークツリーに戻す。

$ git restore -staged <ファイル名>

ブランチ

git branch

ブランチを作成する。

$ git branch <ブランチ名>

ブランチ一覧を表示する

$ git branch

$ git branch -a

git switch

ブランチを切り替える。-c つけるとブランチを作成して切り替える。

$ git switch <ブランチ名>

$ git switch -c <ブランチ名>

git merge

変更をマージする

$ git merge <ブランチ名>

$ git merge origin/<ブランチ名>

git hub とのやりとり

git config

初期設定。

$ git config --global user.name "XXX"
$ git config --global user.email "XXX@example.com"

git remote

リポジトリを追加する。

$ git remote add origin <リモートURL>

git push

リモートへ push する。

$ git push origin <ブランチ名>

git pull

リモートから pull する。(ワークツリーまでに反映する。)

$ git pull

git fetch

リモートから fetch する。(ローカルリポジトリまでに反映する。)

$ git fetch

プルリク

余計なファイルをコミットしてしまって、ignore したい

$ git rm --cached <ファイル名>
$ echo <ファイル名>  >> .gitignore

直前のコミットを無しにしたい

リモートリポジトリに取り込まれていない場合

# HEAD だけ元に戻す。
$ git reset --soft HEAD^

# HEAD と インデックスを元に戻す。
$ git reset HEAD^

# HEAD と インデックス、ワークツリーを元に戻す。
$ git reset --hard HEAD^

リモートリポジトリに取り込まれている場合

$ gi revert <コミット>

別のブランチにコミットしてしまった

$ git branch <別ブランチ>
$ git reset --soft HEAD^
$ git switch <別ブランチ>

コミットを間違って消しちゃった

# コミット履歴を確認。
$ git reflog

# git reset する前の HEAD を指定。
$ git reset --hard <コミット> 

ブランチを間違って消しちゃった

$ git reflog
$ git branch <ブランチ名> <コミット>

コミットメッセージを間違えた

$ git commit --amend

マージしたけどコンフリクトしまくって元に戻したい

$ git reset --hard ORIG_HEAD

ブランチ名を間違えてつけた

$ git branch -m <ブランチ名>

コミットはせずに変更を退避したいとき

$ git stash
$ git stash pop

誤ったコミットをpushしてしまった

$ git push origin :<ブランチ名>
$ git reset --hard <コミット>
$ git push origin <ブランチ名>

商用リリースをしてバグがあったので切り戻す

$ git log
$ git revert <マージコミット>
1
1
0

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
1