1

誰かが以前にこれに遭遇したと信じなければならず、問題に光を当てることができれば幸いです. 当社は、Git を使用する別の企業を買収しました。移行プロセス中に、ユーザー アカウントは新しい形式を使用して名前が変更されます。問題は、Git リポジトリを移動すると、リポジトリ内で参照されるアカウントが新しいユーザー ID と一致しなくなることです。

Git リポジトリをサーバーに移動するときに、現在のファイルとリポジトリの履歴の両方を変更された ID に再マップする方法はありますか? これまでのところ、私が見つけた唯一の方法は、svn から git に移行するときにユーザーを再マッピングするときに使用されます。

4

2 に答える 2

0

過去のコミットのユーザー名を変更しようとすることは強くお勧めしません。履歴ツリー全体を書き直す必要があり、過去にリポジトリのクローンを作成したことがある人には問題が生じます (多くの作業がなければ、何もマージされません)。

代わりに、過去をそのまま受け入れ、将来の作業のために新しい形式のユーザー名を使用するよう全員に働きかけ、前進してください。

于 2012-05-31T01:34:46.187 に答える
0

ファイルの所有権について話しているようです。Git はファイルの所有権を追跡しません。追跡する唯一のモード ビットは、実行可能ビットです。ファイルは、作業ツリーを作成しているユーザーが所有して作成されます。

実際に各コミットの作成者/コミッター情報について話している場合、それは別の問題です。Greg が言うように、リポジトリの履歴全体を書き換えることになるので、その情報を書き換えようとしないでください。本当にやりたい場合はgit filter-branch、適切なスクリプトと組み合わせたコマンドを使用--env-filterして、作成者/コミッター情報で必要なマッピングを行うことができます。

于 2012-05-31T01:34:56.987 に答える