1
0

More than 1 year has passed since last update.

Gitコマンドまとめ

Last updated at Posted at 2021-10-18

すぐ忘れるので、よく使うのをまとめた

ヘルプを表示

ターミナル
# ヘルプを確認する
$ git add --help
$ git diff --help

# ヘルプを抜ける
$ q

gitの簡単な流れ

ターミナル
# 最初だけ
$ git init

# 変更を追加する
$ git add

# 追加分をコミットする
$ git commit -m "メッセージ内容"

# リモートリポジトリを追加
$ git remote add リポジトリ名 URL

# リモートリポジトリを更新
$ git push origin master

# リモートリポジトリをローカルに反映
# fetch + merge
$ git pull

# リモートリポジトリをリモート追跡ブランチに反映
$ git fetch

# リモート追跡ブランチをローカルに反映
$ git merge

git status

ターミナル
# 状態確認
$ git status

git add 関連

ターミナル
# 全てをadd
$ git add -A

# 変更点をadd
$ git add -u

# 全てのファイルを取り消し
$ git rm --cached -r .

# 特定のファイルのみ取り消し
$ git rm --cached -r file_name
$ git reset HEAD sample.txt

# 直前のadd全て取り消し
$ git reset HEAD .

git commit 関連

ターミナル
$ git commit --amend -m  #直前のcommitを変更
ターミナル
# 過去のcommitを修正
$ git log --oneline
f4352a2 (HEAD -> develop, origin/develop) commit1
56a4eb1 commit2    # 修正したいcommit
6839af4 commit3    # 修正したいcommit
0340d1a commit4

$ git git rebase -i 0340d1a    # 修正したいcommitの1つ前を選択

# vimでエディタが開く
$ pick 56a4eb1 commit2 
$ pick 6839af4 commit3 
$ pick 0340d1a commit4

# iでINSERTモードにpickをeditに変える
# ESC(Cntl+Cも可)でINSERTモードを抜ける
# :x で保存して終了

$ git commit --amend    # editにしたcommitを修正できる。修正したら :x で終了
$ git rebase --continue   # rebaseを次に進める(次のeditに移動)

git fecth 関連

ターミナル
# リモートリポジトリで先に更新した時
$ git fetch origin
$ git diff origin/master
$ git merge origin/master

git pull 関連

ターミナル
$ git pull
$ git pull --no-edit # viエディタを開かずにpullする

ブランチ 関連

ターミナル
$ git branch -a  現在のブランチを確認
$ git checkout ブランチ名   ブランチに移動
$ git checkout -b ブランチ名     新規ブランチを作成して、移動

git push 関連

ターミナル
$ git push -u origin develop   developブランチを上流ブランチに設定

git diff 差分を確認する

ターミナル
# 前回コミット(HEAD)からの差分
$ git diff HEAD

# git add した後の差分確認
$ git diff --cached

# ファイル名のみを表示
$ git diff --name-only

# 不要な追跡を除外し、ファイルを削除
$ git rm file_name

# 不要な追跡を除外し、ファイルは残す実際のファイルは残して、追跡だけ除外
$ git rm --cached file_name

git log 自分がしたコミットを確認

ターミナル
# コミットログを参照する.
$ git log

# 修正したファイル一覧
$ git log -p --name-only

# 変更内容差分, ファイル名を引数で渡すと単体で指定可
$ git log -p

# コミットログの先頭7桁のコミットIDを表示する.
$ git log --oneline 

# コミットログのHEADの位置を明示する.
$ git log --decorate

# コミットログを縦グラフで表示する.
$ git log --graph

# 指定した文字がコミットログに含まれるコミットを表示する.
$ git log --grep [filter] 

# 未プッシュのコミットを確認
$ git log origin/[ブランチ名]..[ブランチ名]

# 組み合わせて使える
$ git log --oneline --graph --decorate

退避

変更を退避する

ターミナル
$ git stash save
or
$ git stash

Git管理をはずす

ディレクトリごとはずす

.gitファイルを削除する

.gitignoreを使って指定したファイルやフォルダをはずす

.gitignoreに記載すると、git管理の対象から外すことができる。
個人的にはパスワードなどの個人情報を含むファイルや、一時的な動作確認でgit管理しないものなどをgitignoreに指定している。

.gitignore
# 特定のファイル(temp.txt)を除外する
tmp.txt

# 特定のフォルダ(tmp)を除外する
tmp/

# 特定の拡張子(.jpg)を除外する
*.jpg

Git を間違ってpushしたとき

git reset

ミスをなかったことにする。
※扱いには注意

ターミナル
# なかったことにする
$ git reset

# resetした後は強制的にpush
$ git push -f

revertをcommitしてpush

ミスの履歴を残す。
revetで新しいcommitができるので、それをpushする

ターミナル
# 直前のコミットを打ち消すコミット
$ git revert
$ git revert HEAD

# 最新をふくめ、過去4つ分のコミットを打ち消す
$ git revert HEAD~3

$ git push origin master

変更してしまっため、revertできない場合

ターミナル
error: Your local changes to the following files would be overwritten by merge:
Please commit your changes or stash them before you merge.
Aborting
fatal: revert failed
ターミナル
$ git stash

で変更を退避してから

ターミナル
$ git revert HEAD

viの操作

:q または :q!で抜け出せる。

mergeする

参考資料

基本

基本的なGitコマンドまとめ
gitを使用したブランチ作成からpushまでの簡単な流れ
【初心者向け】git fetch、git merge、git pullの違いについて
第1話 リポジトリを作ってコミットしてみよう【連載】マンガでわかるGit ~コマンド編~

branch

ブランチ切って更新してマージするまでの流れ

commit

Gitのコミットメッセージの書き方
僕が考える最強のコミットメッセージの書き方
Gitのコミットメッセージを後から変更する方法をわかりやすく書いてみた
Git,rebaseで過去のコミットの修正を行う.

push

git push -u とは?
Git用語:上流ブランチとは?

revert & reset

Git で コミットを無かったことにする方法 (git revert の使い方)
git revertでエラーが出ます
【git】revretしたcommitをまたrevertして戻した話
【gitコマンド】いまさらのrevert
git pushを取り消す方法
git reset --soft で複数のcommitを取り消す

diff

git 差分を見る
忘れやすい人のための git diff チートシート
【初心者向け】git diffの使い方を実例で解説|コードの変更内容の表示、git addしたファイルとの差分、指定したコミット同士で違いを確認する方法

stash

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

pull

gitのリモートリポジトリの更新を確認する
【初心者向け】git fetch、git merge、git pullの違いについて
git develop, feature branch作成からmergeするまで (自分用メモ)

.gitignore

.gitignore の書き方
.gitignore の書き方。ファイル/ディレクトリの除外
【Git】.gitignoreが反映されない時の対応備忘録

merge

git develop, feature branch作成からmergeするまで (自分用メモ)

その他

git ローカルの変更を元に戻す方法
untracked fileを削除するためにはgit cleanを使う
git 管理をやめる
Vim / Vi を終了させる方法
GitHub – READMEの作成方法と書き方【改行やリンク・画像の入れ方】

1
0
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
0