[[コマンド]] *概要 [#n949ed01] -git難しい -git book読め *下位ページ [#efca017e] -[[共同開発]] *トラブルシューティング [#vd0257bb] -日本語が文字化けする→以下を打つだけでOK git config --local core.quotepath false -タグ'tagname"を作る git tag tagname -タグ"tagname"を削除 git tag -d tagname -リモートタグ"tagname"を削除 git push origin :TAGNAME -pushしていないタグを全てpush git push origin --tags -ブランチの可視化ツール gitk -でっかいファイルを間違えてコミットしてしまったら git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch でかいファイル.tar.gz' --prune-empty --tag-name-filter cat -- --all git commit --amend -CHEAD git push *運用 [#lbac3a41] -段階的マージ --masterは本番環境おで動いているコードと透過 --verX.X-pr ステージング、バージョン開発ごとの新機能のまとまり --verX.X-deploy 試験用サーバ 開発者が好きにプッシュして遊ぶ場所。CI通ってなかったりもする --プルリクをverX.X-prから切る→開発(実機確認では-deployにマージ)→CIとレビューが通るとprにマージされる→深夜メンテナンスで-prがmasterにマージされる --レビュアーは10人くらいいる可能性があるなど、非常に厳しいレビュー -コミットごとのレビューか、プルリクごとのマージか? --普通はプルリクごと --コミットごとにレビューになる場合、人ごとに変更をまとめる必要があり、squashを求めるケースがある *逆引き [#r98c46df] -rebaseのrewordという機能はコミットメッセージだけ変えることができる -squashはsで代替できる -git merge-baseで共通祖先が見つかる -コンフリクト中には、conflictを解決するか、git merge --abortのどちらかしか選択肢がない。 *理解すべきこと [#u2bf98dc] -fast-forwardマージとは? -rebaseとは? -git rebase -i $(git reb-list HEAD | tail -n 1) -force pushとは?何が起きるのか? |