- 追加された行はこの色です。
- 削除された行はこの色です。
[[コマンド]]
*概要 [#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とは?何が起きるのか?