git tips
initialize
- 
    初期設定 git init git remoate add origin <repository-url> git commit -m "first commit" git push (-u) origin master
- 
    マージ時の設定 git config branch.master.remote origin git config branch.master.merge refs/heads/master
Commit
- 
    gitでリモートリポジトリにpushしたcommitを取り消す リモート・ローカルの両方のHEADの位置を変更 git rebase -i HEAD~2 # コミットの2行目を削除 git push origin +masterリモートのみ変更 git push -f origin HEAD^:masterローカルのみ変更 git reset HEAD^ git reset --soft HEAD^ git reset --hard HEAD^
- 
    cherry-pick git cherry-pick <commit>コミットしない場合 git cherry-pick -n <commit>
Branch
- 
    リモートブランチをローカルに取得 git checkout -b <local-branch-name> <remote-branch-name>
- 
    ブランチを削除 git branch -d <branch-name> git push origin :<branch-name>
- 
    すでに作成済みのブランチをトラッキングする git push -u origin masterまたは git branch --set-upstream foo upstream/foo
- 
    既に削除済みのリモートブランチを一覧から削除する git branch -aで表示されるリモートに存在しないブランチ表示を削除するgit remote prune <repository>または git fetch --prune <repository>
- 
    複数ブランチを同時に扱う ln -s /usr/local/Cellar/git/2.2.0/share/git-core/contrib/workdir/git-new-workdir /usr/local/bin/ git-new-workdir . ../develop (git new-workdir . ../develop)
Tag
- 
    タグを削除 git tag -d <tag-name> git push origin :<tag-name>
- 
    タグがリンクしているハッシュ値を確認する git rev-parse <tag-name>
Archive
デフォルトはtar
- 
    tarのアーカイブ (tar.gz) git archive [--format=tar] HEAD | gzip > foo.tar.gz
- 
    zipのアーカイブ git archive --format=zip <branch-name> > foo.zip
- 
    特定のディレクトリに入れる –prefixオプションで指定 git archive --format=zip --prefix=dir/ <tag-name> > foo.zip
