2

私は git リポジトリのクローンをチェックアウトしました。それを使用して、原子化で期間メトリック (KLOC など) を収集します。

私はこれらのメトリクスを 1 週間に 1 回収集しますが、時折、時間に戻ってメトリクスを再実行したいと思います (新しいメトリクスを追加したり、システムの何かが変更されたりした場合)。

特定の時点をチェックアウトするには、次のコマンドを使用します。

git checkout `git rev-list -n 1 --before=2012-8-20 master` --force

しかし、rev-list コマンドが最新の状態に保たれていないことがわかりました。このプロセスを使い始めた日以降に発生した新しいリビジョンは、rev-list コマンドに表示されません。最初から複製すると、追加のリビジョンが表示されますが、毎回リポジトリ全体を複製する必要はありません。

master ブランチからのすべての最新リビジョンを知るために rev-list に欠けているオプションはありますか?

4

1 に答える 1

1

ここでの取り決めは、revlist がリモート マスターに対して自動的に更新されないことだと思います。このため、次のコマンドを追加する必要があります。

git checkout master # to go back onto the master branch
git pull            # to update from the master

これでリビジョン リストが最新になり、正確に実行できるようになりました。

git checkout `git rev-list -n 1 --before=2012-8-20 master` --force

これで、上記のコマンドがタイム マシンとして正しく機能するようになり、コード メトリックを計算できるようになりました。

于 2012-08-21T21:33:03.233 に答える