元のリポジトリのクローンからフォークにプッシュするにはどうすればいいですか? 質問する

元のリポジトリのクローンからフォークにプッシュするにはどうすればいいですか? 質問する

GitHub 上の別のリポジトリ( と呼ぶことにします) のフォークmyrepo( と呼ぶことにしますorirepo) を作成しました。その後、 をクローンしましたorirepo

git clone https://github.com/original/orirepo.git

約20個のファイルを変更し、変更をステージングしてコミットしました

git add
git commit

しかし、私が押し込もうとすると

git push

次のエラーが発生しました:

remote: Permission to original/orirepo.git denied to mylogin.
fatal: unable to access 'https://github.com/original/orirepo.git/': The requested URL returned error: 403

間違いを犯したことはわかっています。 ではなく、自分のフォークをクローンするべきでしたorirepoが、今では遅すぎます。 ではなく、origin/orirepo書き込みアクセス権のない自分のフォークにプッシュするにはどうすればよいでしょうか?

ベストアンサー1

デフォルトでは、リポジトリをクローンすると

  • https://github.com/original/orirepo.git、にある
  • 現在のブランチは と呼ばれmaster

それから

  • 結果として得られるクローンのローカル設定にはorigin、クローンしたリポジトリの URL に関連付けられた というリモートが 1 つだけリストされます。
  • クローンのローカルmasterブランチは追跡 origin/master

したがって、クローンの設定を変更しない場合、Gitは

git push

として

git push origin master:origin/master

つまり、 は、ローカルブランチをリモートリポジトリ (クローンでは として知られています) にあるブランチにgit pushプッシュしようとします。ただし、そのリモート リポジトリへの書き込みアクセス権がないため、これを行うことはできません。mastermasterorigin

必要がある

  1. originフォークに関連付けられたリモートを再定義するには、次のコマンドを実行します。

    git remote set-url origin https://github.com/RemiB/myrepo.git
    
  2. または、リモートの元の定義を保持する場合は、フォークに関連付けられたorigin新しいリモート (ここでは ) を定義します。myrepo

    git remote add myrepo https://github.com/RemiB/myrepo.git
    

    master次に、次のコマンドを実行して、ローカルブランチをフォークにプッシュできるはずです。

    git push myrepo master
    

    Gitに今からではなく、git pushにプッシュするように指示したい場合は、以下を実行します。myrepoorigin

    git push -u myrepo master
    

その代わり。

おすすめ記事