LoginSignup
2
2

More than 3 years have passed since last update.

[覚書] gitコマンド逆引き [git command]

Last updated at Posted at 2019-09-05

ざっくりまとめ

修正中内容は残したままどうにかこうにか処理したい。

reset --hardではなくreset --softなど、softで行う。

変更修正を反映させたくないファイル設定

  • 常にunstaged git update-index --assume-unchanged [ファイル名]

ローカルブランチを別名のリモートブランチにpush

git push local_branch:remote_branch

commitで困った時

自身の修正内容の次にcommitする

git pull リモート名 ブランチ名
* commit履歴がmasterなどとずれるが、コンフリクトしていないのであれば問題ない。
* masterなどにプルリク後mergeされる際には追加修正分だけきちんとのる。

自身の修正前にmaster(リモートブランチ)をpullする

git pull --rebase リモート名 ブランチ名
* rebaseなので、修正箇所以外の変更履歴に齟齬があると動作しない。
* コンフリクトだと思って直すと、commit番号が変わる。
* 問題なく動作すれば、コミット履歴がmasterなどと同じ状態になるため、確認しやすい

別のブランチに特定のコミットをマージしたい場合。

git checkout branch_name
git cherry-pick コミット番号

特定のファイルだけ、以前のcommitの状態に戻す方法

git checkout コミット番号 ファイルパス

別のリモートに関わる時

別のリモートを追加する

git remote add リモート名(任意) リモートURL
git fetch リモート名
※ここで、fetchをしていないと、以下のようなファイル確認等ができない。

別のリモートのファイル確認

git show リモート名/ブランチ名:./ファイル名
* 場所は同じところでやるか、パス指定するっぽい

別のリモートから特定のファイルやディレクトリを取り込む場合

git checkout リモート名/ブランチ名 ./ファイル名
* 場所は同じところでやるか、パス指定するっぽい

pullした後困った時

直前のpullを全て無かったことにする

git reset --hard ORIG_HEAD

ローカルブランチをリモートブランチの内容で上書き

git reset --hard リモート名/ブランチ名

直前の変更分を残したままにできる。

git fetch リモート名
git reset --soft FETCH_HEAD

特定のブランチ切る時

特定のコミット番号からブランチを切る方法

git checkout -b ブランチ名 コミット番号

特定のremoteブランチからローカルブランチ切る方法

git checkout -b ブランチ名 リモート名/ブランチ名

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