てことで、個人的によく使うgitとp4のコマンドの適当な比較をメモしておく。p4 editとかgitのstaging関係とか両者独特のものは対比しようがないので省略。
git status | p4 opened ... | ...付けないと巨大なワークスペースでは重いので(編集状態も全部サーバに問い合わせるため、調べる範囲が拡がると時間が掛かる) |
git pull | p4 sync ... | |
git add <file> | p4 add <file> | 新規ファイルの追加という意味で |
git diff -- . | p4 diff ... | p4ではlessを付けた方がいいかも |
git commit && git push | p4 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 push | p4 change; (do something); p4 submit -c 123456 | ローカルにcommitを溜めておく方法 |
git log origin/master..HEAD | p4 changes -s pending -u your_name | ローカルに溜まったcommit一覧 |
p4とgitは対極にあるVCSと思う。分散管理を行うgitに対し、誰がどのファイルを編集しているかも中央サーバで管理するp4。だから、コマンドは正確な対比にはならないのは悪しからず。