LoginSignup
14
14

More than 5 years have passed since last update.

役に立った!Gitコマンドまとめ

Posted at

自分用メモ。

ファイル単位でなく、変更した部分(=ハンク)単位でのステージング

(そもそも、こまめにadd→commitしなさい!って話ですが、、、)

git add -p

リモートにPUSHしてしまったコミットを、1つ前の状態に戻したい!

git push -f origin HEAD^:master

ローカルのコミット状態は変わらないので、必要に応じてgit resetなどをやる。

※ コマンドオプションの意味
-f : =「––force」。強制的に上書きする。
origin : PUSHするリポジトリの指定。「origin」はリモートリポジトリ。
HEAD^:master : ローカルのブランチ:リモートのブランチ。HEAD^は1つ前(HEADの1番目の親)の意味。

その応用で...↓

リモートのブランチを削除する!

git push -f origin :master

ローカルのブランチ指定がないので、空で上書き=削除される。

コンフリクトが起きたとき、どちらか一方を正とする

git checkout --ours/--theirs

git diffで文字化けしないようにする

git diff {比較するコミット1}..{比較するコミット2} | iconv -f shift_jis

※ただし、diffへの色付けは失われるので、結局見づらい。。。

追跡ブランチに設定する

git branch --set-upstream-to origin/{ブランチ名} {ローカルブランチ名}

または

git branch -u origin/{ブランチ名} {ローカルブランチ名}

追跡ブランチを確認

git branch -vv

releaseブランチをmasterにマージしてタグ付け

とりあえずfetch

git fetch --prune

Non-Fast-Forwardでマージ

git merge release --no-ff

masterをpush

git merge

そして、タグ付け

git tag -a v1.0 -m 'yyyymmdd released'

タグデータと関連づけられたコミットを確認

git show v1.0

既存のタグ一覧

git tag

タグのpush

git push origin v1.0

cloneするときにリモートリポジトリの名前を origin 以外にする

git clone -o <remote-name> <remote-repository-uri>

エイリアス設定

git log --oneline --graph をさらにわかりやすく

git config --global alias.graph 'log --graph --pretty=format:"%C(yellow)%h%Creset%C(auto)%d%Creset %s %Cblue[%an]%Creset %ad" --all --date=iso'
14
14
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
14
14