• 追加された行はこの色です。
  • 削除された行はこの色です。
[[コマンド]]
[[FrontPage]]

*概要 [#n949ed01]
-git難しい
-git book読め
*概要 [#m2136719]
-svnで書いたプログラムは綺麗なコードになりがちで、gitで書いたプログラムはきれいなdiffになりがち

*下位ページ [#efca017e]
-[[共同開発]]
*下位ページ [#j1f63ac0]
-[[ZenHub]]
-[[Waffle.io]]
-[[GitHub]]

*トラブルシューティング [#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
*perforce [#zc89569d]
-商用プロプリエタリバージョン管理システム
--高速である。特にsync操作が高速である。
--分岐と統合はCVSやSubversionよりも柔軟だが、システム構成の異なるGitやBitKeeperほどではない。
--インストールやサーバの運用が単純。
--大規模構成が可能である。あらゆるファイル形式とサイズに対応 。2016年には935TBのリポジトリを使った運用事例が報告されている[6]。

*コミット [#p3f6c168]
-状態のように見えるけど、その状態とその状態に入る全ての辺(変更)のこと
--だから、マージコミットの場合は辺が指定できずに悲しい

*運用 [#lbac3a41]
-段階的マージ
--masterは本番環境おで動いているコードと透過
--verX.X-pr ステージング、バージョン開発ごとの新機能のまとまり
--verX.X-deploy 試験用サーバ 開発者が好きにプッシュして遊ぶ場所。CI通ってなかったりもする
--プルリクをverX.X-prから切る→開発(実機確認では-deployにマージ)→CIとレビューが通るとprにマージされる→深夜メンテナンスで-prがmasterにマージされる
--レビュアーは10人くらいいる可能性があるなど、非常に厳しいレビュー
*cherry pick [#x74b8bc3]
-「COMMIT_A..COMMIT_B」と指定すれば、AからBまでのコミットを指定することができます。AのほうがBより古い点に注意指定下さい。また、ピックされるコミットは「COMMIT_A の次のコミット」から「COMMIT_B まで」となりますので、注意が必要です。

 // 「37a1d2」の次のコミットから「a3jb9ad」までをピックする
 git cherry-pick 37a1d2..a3jb9adCopy
-わかり易さのため、COMMIT_A 自体を含めるには、そのコミットの直前を表す「^」を利用して下記のように、記述すると、やや直感的に指定できます。

-コミットごとのレビューか、プルリクごとのマージか?
--普通はプルリクごと
--コミットごとにレビューになる場合、人ごとに変更をまとめる必要があり、squashを求めるケースがある
 // 特定のブランチをピックする
 git cherry-pick 37a1d2^..a3jb9ad
 git cherry-pick 67cf8aa22619d94a001cfb08ee78a2ac15175cf9^..0edd7b17af55432cb5b40ce10d3fbbba4d0af99b
 git revert -m 1 b4e97


*逆引き [#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とは?何が起きるのか?


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS