GitHubで自分のリポジトリの1つを名前変更したかったのですが、大きな赤い警告が出て怖くなりました:
- 古い場所からのリダイレクトは設定しません
- 新しい場所を指すようにローカルリポジトリを更新する必要があります
- 名前の変更が完了するまで数分かかる場合があります
誰もが#1と#2を手動で達成する方法について段階的な手順を持っていますか?またはローカルで何をしなければなりませんか?
.git/config
ファイル内でも変更します。
GitHubで自分のリポジトリの1つを名前変更したかったのですが、大きな赤い警告が出て怖くなりました:
- 古い場所からのリダイレクトは設定しません
- 新しい場所を指すようにローカルリポジトリを更新する必要があります
- 名前の変更が完了するまで数分かかる場合があります
誰もが#1と#2を手動で達成する方法について段階的な手順を持っていますか?またはローカルで何をしなければなりませんか?
.git/config
ファイル内でも変更します。
回答:
あなたがプロジェクトに取り組んでいる唯一の人である場合、あなたは#2を行うだけでよいので、それは大きな問題ではありません。
ユーザー名がsomeuser
で、プロジェクトがと呼ばれているとしsomeproject
ます。
その後、プロジェクトのURLは1になります
git@github.com:someuser/someproject.git
プロジェクトの名前を変更するsomeproject
と、URLの一部が変更されます。たとえば、
git@github.com:someuser/newprojectname.git
(URLがこのようになっていない場合は脚注を参照してください)。
Gitの作業コピーは、push
またはを実行するときにこのURLを使用しますpull
。
したがって、プロジェクトの名前を変更した後、作業コピーに新しいURLを通知する必要があります。
これは次の2つのステップで実行できます。
まず、cd
ローカルのGitディレクトリにアクセスし、そのURLを参照しているリモート名を見つけます。
$ git remote -v
origin git@github.com:someuser/someproject.git
次に、新しいURLを設定します
$ git remote set-url origin git@github.com:someuser/newprojectname.git
または、古いバージョンのGitでは、次のものが必要になる場合があります。
$ git remote rm origin
$ git remote add origin git@github.com:someuser/newprojectname.git
(origin
最も一般的なリモート名ですが、別の名前と呼ばれることもあります。)
しかし、プロジェクトに取り組んでいる人がたくさんいる場合は、それらすべてが上記の手順を実行する必要があります。おそらく、それらすべてに連絡してそれらを伝える方法もわかりません。それが#1についてです。
参考文献:
脚注:
1 URLの正確な形式は、使用しているプロトコルによって異なります。たとえば、
git remote -v
はの形式git@github.com:someuser
です。ここで入力したスラッシュは機能しませんでした。ただし、ここでは他のすべてが行いました。
2013年5月以降(「リポジトリリダイレクトはここにあります!」)、リンクを壊すことなくGitHubリポジトリの名前を変更できることに注意してください。
これらの状況では、本日より、以前のリポジトリの場所に対するすべてのリクエストが新しいホームに自動的にリダイレクトされることをお知らせいたします。あなたがしなければならない特別なことは何もありません。名前を変更するだけで、あとは私たちが処理します。
特別ボーナスとして、以前のリポジトリの場所からのすべてのGitクローン、フェッチ、およびプッシュリクエストにもサービスを提供します。
つまりgit remote set-url
、ローカルのクローンリポジトリで(リモートGitHubリポジトリのURLを変更する)必要さえありません。
が、ガブリエルは、ノートコメントでいることを公式のGitHubのヘルプページは強く、あなたがそうすることをお勧めします。
混乱を減らすために、新しいリポジトリURLを指すように既存のローカルクローンを更新することを強くお勧めします。これは、コマンドラインでgit remoteを使用して実行できます。
git remote set-url origin new_url
しかし注意してください:
現時点でリポジトリの名前が変更されている場合、 GitHub Pagesサイトは自動的にリダイレクトされません。Pagesリポジトリの
名前を変更すると、ドメインまたはカスタムドメインでホストされているコンテンツへの既存のリンクが壊れます。github.io
さらに、ユーザーはまだ名前空間を所有しています。名前を変更したリポジトリの古い名前を使用して新しいリポジトリを作成すると、そのリダイレクト(名前を変更したリポジトリの)は機能しなくなります。
set-url
特定の日付より前にリポジトリを更新するように他の人に知らせることができます。その日付の後、私はよスマッシュ素敵で、ブランク1を作成することにより、古い名前レポをReadmeファイルに「私はUに警告しました」。
私は単に自分の名前を変更するだけです:
この手順の後、GitHubはオンラインリポジトリがローカルフォルダー名と一致することを確認します。ローカルフォルダーの名前も変更したくない場合は、このステップで問題が解決します。次に、手動でそれを実行し、WindowsのGithubクライアントを使用して、リポジトリをハードドライブに再度検索します。Githubは再びそれを照合します。それで全部です!とても簡単です。
私が見つけた最も簡単な方法
たとえば、レポリンクに移動します。 https://github.com/someuser/someRepo.git
設定タブをクリックします。
最初に表示されるのはレポ名です。編集できます。
注:-ローカルでリポジトリを複製した場合は、そのフォルダー名を手動で変更します。これですべてです。
正確/完全とは言えない回答に対する肯定的なフィードバックがたくさんあります。
心に留めておくべきことが2つあります。
マシンにリポジトリをまだクローンしていない場合は、Githubリポジトリの名前を変更してから、リポジトリのクローンを作成してローカルコピーを作成する必要があります。Githubリポジトリの名前を変更するには、次のことを行う必要があります。
上記の手順のほかに、プロジェクトのローカルコピーが既にある場合は、ローカルリポジトリ(ルートフォルダー)の名前が正しく変更されており、正しいリモートURL :)リンクを指していることを確認する必要があります。それを実現するには、次のようにします。
mv -R current-repo-name new-repo-name
$ git remote set-url origin https://github.com/userX/repositoryU
または
$ git remote set-url origin git@github.com:userX/repositoryU.git
ただし、2番目のステップは必須ではありません。Githubは、以前のリポジトリのURLから割り当てられたURLにすべてのリクエストをリダイレクトすると発表しました。つまり$ git remote set-url ...
、を使用する必要はありませんが、混乱を避けるためにを使用することをお勧めします。
お役に立てば幸いです。質問がある場合や投稿が十分に明確でない場合は、お知らせください。
この回答は廃止されました。GitHubは新しい場所に転送します。詳細については、この回答を参照してください。
この警告が表示されるのは、#1 を手動で作成できないためです。
あなたがリポジトリで作業してリンクしている唯一の人であれば、ローカルリポジトリとWebページでリモートを変更しても問題ありません。
ただし、最初にgithubにパブリックリポジトリを配置する理由は、他のユーザーがリポジトリを複製してgithubプロジェクトページにリンクできるようにするためです。
古いURL github.com/<username>/<repository>
はgithubが所有しています。新しいURLへのリダイレクトを設定しないと、誰も設定できません。ですから、あなたが話している人以外のすべての人にとって、物事は壊れます。
問題の大きさはあなた次第です。別のサーバーに公式のプロジェクトページがある場合、githubのURLはそれほど問題ではない可能性があります。メーリングリストとディレクトリでgithub urlを使用してプロジェクトを宣伝した場合は、おそらくリポジトリ名を変更しないでください。
リポジトリ名を変更する代わりに、新しいリポジトリを作成し、古いリポジトリに(リポジトリ内のコミットとして)新しいリポジトリに到達する方法に関するメモを残すこともできます。
新しいリポジトリが古いリポジトリのフォークとして表示されない場合は、新しいgithubアカウントを作成する必要があります。両方のリポジトリのコラボレーターとして他のアカウントを追加できます。
GitHubプロジェクトをフォークして、新しく生成されたコピーの名前を変更すると、新しい名前が親プロジェクトのメンバーネットワークグラフに表示されることに注意してください。相補的な関係も保持されます。これは、リダイレクトに関連する元の質問の最初のポイントに関連付けられた予約に対処する必要があります。つまり、いわばそこからここにアクセスできます。私も、警告によって示される取り返しのつかないことをためらっていたので、うまくいけば、これにより他の人の遅れを救うことができます。
ブラウザからこのURL(https://github.com/)を開きます
ページの右端にあるリポジトリに移動します
名前を変更するリポジトリのリンクを開きます
[設定]をクリックします(ナビゲーションバーにあります)
上部には、新しい名前を書き込むボックス(リポジトリ名)というボックスがあります。
名前の変更を押す
1)プロジェクトのURLを開きます:https : //github.com/someuser/project-name
2)上部のプロジェクト名の横にある[編集]をクリックします