19

github アカウント名を変更したいのですが、GitHubアカウント設定でオプションを見つけました。

しかし、私は結果を懸念しており、このアカウントに関連付けられた私自身のプロジェクトがいくつかあることを考えると、名前変更の最善の戦略は何かを知りたい.

これまでのところ、私はこの計画を思いつきました:

  1. GitHub 設定でアカウント名を変更する
  2. 「.git / config」ファイル内の各プロジェクトのローカル フォルダーについて、リモートの「オリジン」 URL を新しいものに更新します。

これは機能しますか?プロジェクト ソースを保持しているコンピューターでさらに手順を実行する必要がありますか? GitHub で私のプロジェクトをクローンまたはフォークした人に対する名前の変更の影響は何ですか?

ありがとうございました!

4

3 に答える 3

14

1.)すべてのプロジェクトのリモートアドレスを変更する必要があります。あなたはそれらを介して見ることができます:

git remote -v

その後、古いリモートアドレスを削除します。

git remote rm git@github.com:old_account/foo.git

最後に、新しいリモートアドレスを追加します。

git remote add origin git@github.com:new_account/foo.git

2.)複製されたすべてのリポジトリが壊れます。URLリダイレクトなどはありません。ローカルの複製リポジトリを変更できますが、他の人は新しいリポジトリアドレスを指す必要があります(ステップ1のように)

注:Githubフォークリポジトリは問題なく機能します。

于 2012-06-10T07:44:00.503 に答える
14

GitHub は最近、ユーザー名の名前変更システムを変更し、リダイレクトを設定しました。

ユーザー名を変更するとどうなりますか?から GitHub ヘルプ:

GitHub 側では、新しいユーザー名が常に自分の名前であるかのようにすべてが動作します。すべてのリポジトリがその新しい名前に属し、古いユーザー名は本質的に存在しなくなります。変更を開始してから完了するまでに数分かかる場合があります。

https://github.com/previoususernameなどの以前のプロファイル ページへのリンクは 、404 エラーを返します。@メンションなどの参照のために、古いユーザー名から新しいユーザー名へのリダイレクトを設定することはできません。

ただし、すべてのリポジトリに対してリダイレクトが設定されています。古い場所への Web アクセスと git アクセスの両方が引き続き機能し、新しいユーザー名にリダイレクトされます。

于 2013-11-03T23:00:20.787 に答える
4

~/bin に git-reremote というスクリプトを残しました。内容は次のとおりです。

 #!/bin/sh
old=richoH
new=richo
git remote -v | grep $old | while read name url type; do
    newurl=`echo $url | sed -e "s/$old/$new/"`
    git remote set-url $name $newurl
done

これはちょっとしたハックですが、十分にうまく機能します。git リポジトリに cd して呼び出すだけですgit reremote(それが自分のリポジトリにあることを確認し$PATH、古い変数と新しい変数を修正したことを確認した後)。

于 2012-06-10T11:11:01.570 に答える