coding, photo, plant and demo

*git vs perforce

tech 20110928 221140
ここ2年以上git漬けだったが、久々にperforce(p4)を使う必要に迫られた。が、悲しいかな、細かいコマンドを殆ど忘れていた。
てことで、個人的によく使うgitとp4のコマンドの適当な比較をメモしておく。p4 editとかgitのstaging関係とか両者独特のものは対比しようがないので省略。

git statusp4 opened ......付けないと巨大なワークスペースでは重いので(編集状態も全部サーバに問い合わせるため、調べる範囲が拡がると時間が掛かる)
git pullp4 sync ...
git add <file>p4 add <file>新規ファイルの追加という意味で
git diff -- .p4 diff ...p4ではlessを付けた方がいいかも
git commit && git pushp4 submit
git log .p4 changes ...
git show <commit>p4 diff2 ...@123455 ...@123456過去のcommitを調べる方法(これp4はもっと簡単な方法が有りそうなもんですが、よく分からなかった)
git diff <commit> -- .p4 diff ...@123456過去のcommitと現状のdiff
git reset --hard -- <file>p4 revert <file>
git commit; (do something); git pushp4 change; (do something); p4 submit -c 123456ローカルにcommitを溜めておく方法
git log origin/master..HEADp4 changes -s pending -u your_nameローカルに溜まったcommit一覧

p4とgitは対極にあるVCSと思う。分散管理を行うgitに対し、誰がどのファイルを編集しているかも中央サーバで管理するp4。だから、コマンドは正確な対比にはならないのは悪しからず。