Edited at

Git Usage

More than 5 years have passed since last update.

随時追記という感じで、忘れがちなコマンドを記載していく。

option はそのコマンド推奨を載せる。

引数は具体例を記述。意味は例から読み取る。

option や引数の説明は、わかりにくいところ以外見やすさのため省略。


基本


  • 初期化 git init


必須設定



  • git config --add alias.me 'merge --no--ff' マージでFast-forwardしない


  • git config --global pull.rebase true 全追跡ブランチで rebase を使う

    (1.7.8 以前は git config --global branch.autosetuprebase always)

    個々のブランチで 'git config branch..rebase false` とするとそちらが優先




ブランチ


  • ブランチ作成 git co -b develop/1.x


タグ


  • タグ一覧 git tag -n

  • タグ作成 git tag -a release-1.0

  • タグ削除 git tag -d release-1.0


リモートブランチ


  • リモートブランチ見る git branch -r

  • リモートにブランチ作成や変更 git push -u origin develop/1.x


  • リモートブランチ削除 git push --delete origin develop/1.x

    (1.7以前は git push origin :develop/1.x)



  • リモートブランチからローカルブランチ作成 git co -b develop/1.x origin/develop/1.x


  • リモートブランチに存在しないゴミを消す g fetch --prune


    (.git/objectsフォルダのゴミオブジェクト)



リモートタグ


  • リモートにタグ追加 git push origin refs/tags/v1.0

  • リモートにタグ全て追加 git push --tags


サブモジュール


  • 全て最新化する git submodule foreach 'git pull origin master'; git submodule update


マージ、リベース


  • マージ、リベースをなかったコトにする。 git reset --hard ORIG_HEAD


たまに使う


  • track されているファイルをローカル環境でのみ無視する git update-index --assume-unchanged [path]

  • ローカル環境でのみ無視しているファイルを戻す git update-index --no-assume-unchanged [path]