LoginSignup
11
11

More than 5 years have passed since last update.

Gitコマンドの備忘録

Last updated at Posted at 2014-10-28

自分用Gitコマンドの備忘録です。
内容は少しずつ追加していきたいと思います。
これいいよ!とか言うものがあればぜひコメントで教えていただけると助かります!

Gitでローカルの変更を元に戻す

  • ファイルの変更をもとに戻す場合
    $ git checkout {{ファイル名}}

  • 特定のファイルではなくすべてのファイルの変更を元に戻したい場合
    $ git checkout .

Aliasの設定

設定方法
ex) statusのalias設定
$ git config --global alias.st = status

コミットを別ブランチにコピーする

  • コミット番号を調べる
    $ git log --oneline --decorate --graph {{branch_name}}

  • コピーしたいブランチに移動
    $ git checkout {{barnch_name}}

  • コミットをコピー
    $ git cherry-pick {{commit_id}}

直前のコミットメッセージを修正する

$ git commit --amend

コンフリクトが起きた時、どちらかを優先させる

  • 自分のコードを優先したい場合
    $ git checkout -ours {{. or /path/to/file}}

  • マージした側のコードを優先したい場合
    $ git checkout -theirs {{. or /path/to/file}}

私のAliasの設定

[alias]コマンドの設定はWindowsでは出来ないので注意!
(別のやり方があれば教えてください)

.gitconfig
[alias]
    st = status
    cm = commit -m
    ad = add
    ps = push
    ft = fetch
    pl = pull
    co = commit
    di = diff
    dic = diff --cached
    br = branch
    bra = branch -a
    sh = show
    so = remote show origin
    cam = commit --amend
    wc = whatchanged
    lp = log -p
    lo = log
    dm = diff master
    gr = grep --color
    gn = grep -n --color
    alias = !git config --list | grep 'alias\\.' | sed 's/alias\\.\\([^=]*\\)=\\(.*\\)/\\1\\\t => \\2/' | sort
    today = log --oneline --since='12 hour ago'
    ch = checkout
    id = log --oneline --decorate --graph

ブランチ間のマージ

ブランチ間のマージ方法です。
ex) testブランチからmasterブランチへのマージ

$ git fetch
$ git checkout master
$ git merge test

マージした際にコンフリクトが発生すると自動コミットされません
コンフリクトが発生しているファイルを確認する場合は、git statusコマンドを打つと、
both modified: file
と表示されているファイルがコンフリクトしているファイルとなります
私はよくコンフリクトを起こしたファイルのみを取り出したいので、
$ git status | grep both
のようにしています

また、コンフリクトを修正後、コミットを行いますが、その際にメッセージを入力せずにコミットすると、
gitが自動的にコミットメッセージを入力してくれます

削除したファイルのインデックス追加

git rmコマンドを使わずにファイルを削除した場合、
通常のgit addコマンドではインデックスに追加することが出来ません

やりかたとしては何種類かあるのですが、
手っ取り早いのはgit add -Aで全ファイルインデックス追加処理を行うことです
ただこれでは、インデックスに追加したくないファイルまで追加されてしまいますので、
その場合はgit add -u /path/to/fileコマンドで追加してあげることが出来ます
私はこれを最近まで知らず、SourceTreeから削除したファイルを
1つずつインデックスに追加してあげてました。。。(´・ω・`)

11
11
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
11
11