Git実践コマンド

2019/11/29

今回は、実践でたまに使いそうなGitコマンドについてエントリーしたいと思います。

ちなみに、Gitの基本コマンドは以下のページでまとめました。

 

INDEX

 

リモートリポジトリ(git remote)


# 名前とリモートリポジトリを関連付けする(リモートリポジトリの追加)
$ git remote add [username] [remote repository PATH]

# 上記の実例
$ git remote add origin http://xxxxxx.xxx/xxxx

# リモートリポジトリを一覧表示
# -v オプションでURLなど詳細表示
$ git remote -v

# URLを変更
$ git remote set-url origin [変更先のURL]

# 上記の実例
$ git remote set-url origin https://xxxx@bitbucket.org/xxxx/xxx.com.git

 

別のブランチのコミットを現在のブランチにコピー(cherry-pick)

使い方

# developブランチにチェックアウト
$ git checkkout develop

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

# stagingブランチにチェックアウト
$ git checkout staging

# developブランチの特定のコミットをコピー
$ git cherry-pick [commit id]

 

★cherry-pickでまとめてコミットして、コンフリクトが起きる場合
→ コンフリクトの解消が完了し、そのコミットを作成し終えたら git cherry-pick --continue を打ちます。コンフリクトで止まっていた、cherry-pickの処理を再開することができます。

★コンフリクトの解決策
→ git checkout --ours [file name](cherry-pick前の内容に優先して書き換え)
→ git checkout --theirs [file name](cherry-pick後の内容に優先して書き換え)

 

コミットログの確認(git log)


# コミットログを参照
$ git log

# コミットログの先頭7桁のコミットIDを表示
# "q" で終了
$ git log --oneline

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

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

# git log で表示するログの数を制御するオプション
$ git log -[number]
# 上記の実例
$ git log -5

# まとめ
$ git log --oneline --graph --decorate

 

git logの整形


[ Laravelプロジェクト ] -> [ .git ] -> [ config ] を開きます。

末尾に以下を追加。


:
[alias]
    plog = log --pretty='format:%C(yellow)%h %C(green)%cd %C(reset)%s %C(red)%d %C(cyan)[%an]' --date=iso

 

コマンドを実行


$ git plog

 

 

差異を表示(git diff)


# インデックスとワーキングツリーの差異を表示
$ git diff

# HEADとインデックスの差分を表示
$ git diff --cache

# コミット間の差異を表示
$ git diff [commit id 1] [commit id 2]

 

チェックアウト(git checkout)


# ブランチを変更する
$ git checkout [branch]

# コミットされた過去のファイルを復元する
$ git checkout [commit id] [filename]

# マージでコンフリクトしたときに情報を指定してファイル内容を採用
$ git checkout --ours [filename]

# マージでコンフリクトしたときに下方を指定してファイル内容を採用
$ git checkout --theirs [filename]

 
また気づいた箇所があれば順次、追加していきます。

以上です。

 

【改訂新版】Gitポケットリファレンス

Gitの初歩的なことは一通り勉強していて、さらにもっとGitを使いこなしたいと思っている人におススメの本です。中身は基本的にリファレンスです。ただ、コマンドレベルの説明だけではなく、「使い方」や「エラーと対処法」など実用レベルで記述されています。普段のルーチン作業だけでは、すぐに細かいコマンドとか忘れがちになります。何かあったときのための備えとして、または辞書としてお手元に置いておくのもありかと思います。

Amazonで詳細を見る

オススメ

 

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-環境構築