スクリプトでこれを実行できるようにしたいです。基本的に、Gitの一部のコードのバージョン履歴全体を再作成しています。現在、異なるバージョン管理システムを使用しています。コミットの元の作成者(および日付)を保持しながら、Gitにコミットを追加できるスクリプトが必要です。
コミットの作成者と変更が行われた日時を知っていると仮定すると、これを行うことができるGitコマンドはありますか? git-p4は似たようなことをするので、私はそこにいると仮定しています。私はそれを行うための最良の方法を求めています。
--author
のgit commit
オプションを確認してください。
manページ から:
--author=<author>
コミットの作成者をオーバーライドします。標準の
A U Thor <[email protected]>
形式を使用して明示的な作成者を指定します。それ以外の場合、<author>
はパターンと見なされ、その作成者による既存のコミットの検索に使用されます(つまり、rev-list --all -i --author=<author>
)。コミットの作成者は、最初に見つかったコミットからコピーされます。
これに追加するだけです。受け入れられた回答で言及されている--author
オプションは、committerコミットの情報ではなく、authorのみをオーバーライドします。
ほとんどの場合、これは正しい動作ですが、何らかの理由でコミッター情報も手動でオーバーライドする必要がある場合は、GIT_COMMITTER_NAME
を使用しますおよびGIT_COMMITTER_EMAIL
環境変数(GIT_COMMITTER_DATE
もあります)。 Git-Internals-Environment-Variables を参照してください
$ GIT_COMMITTER_NAME="New Name" GIT_COMMITTER_EMAIL="[email protected]" git commit --author="New Name <[email protected]>"
これにより、指定されたユーザーによってコミットされたandコミットのようになります。