プライベート マスター リポジトリは私が所有していません (つまり、自分のリポジトリをマスター リポジトリにプッシュする権限がありません)。ローカルレポをプッシュバックして、所有者にそれをマスターにマージするように要求することしかできないと思います
あなたはここで多くのことを混乱させているようです。まず、リポジトリは単一のユニットです。リポジトリを複製すると、完全なローカル コピーが得られます。
自分が所有しておらず、書き込み権限もないリポジトリをクローンした場合、そのリポジトリに変更をプッシュすることはできません。その場合は、最初に自分の GitHub アカウントにフォークする必要があります。これを行うには、リポジトリ ビューで fork ボタンをクリックします。これにより、自分のアカウントにリポジトリのコピーが作成され、プッシュ権が付与されます。
そのため、リポジトリのローカル クローンがあれば、好きなことを行うことができます。元のリポジトリも GitHub フォークも、リモートリポジトリには何も影響しません。必要な数のブランチを作成し、必要な場所にコミットできます。ここで、ブランチは Git の構成要素ではないことに注意してください。ブランチはコミットへの単純なポインターであるため、ブランチを作成してもあまり効果がなく、実際にコミットを開始しない限り、構造に影響を与えることはありません。
リモートリポジトリにプッシュしたいコミットがある場合は、次を使用してそれを行うことができますgit push
:
git push <remote> <local-branch>:<remote-branch>
master
したがって、ローカルブランチをtest
という名前のリモートのブランチにプッシュしたい場合はorigin
、 を実行できますgit push origin master:test
。test
リモート ブランチ(以前に存在する必要はありません) に明示的にプッシュしたため、リモートのブランチには触れませんmaster
。の他のバリエーションはgit push
、上記のコマンドの単なる省略形です。たとえば、git push <remote> <branch>
これはおそらく 2 番目に一般的なものをプッシュする方法で、ローカル ブランチ<branch>
を追跡リモート ブランチ (通常は同じ名前のブランチ) にプッシュします。したがって、ほぼ同等<branch>:<branch>
です。最も一般的な方法はgit push
、構成に基づいてリモートとブランチを独自に把握する方法ですが、安全のために、明示的に指定することもできます。
ユースケースに戻ると、他の人のリポジトリをフォークして変更を加え、その変更をプルリクエストとして元の作成者に提案したいと思います。これを行うには、次の手順に従う必要があります。
- GitHub でリポジトリをフォークする
- 自分のリポジトリのクローンを作成します (つまり、フォーク)
- 現在のローカルリポジトリで変更を行います
- 変更をフォークにプッシュします (どのブランチでも問題ありませんが、わかりやすくするために別のブランチを使用することをお勧めします)
- GitHub でフォークを参照するときに、プル リクエスト ボタンをクリックして、プッシュされたブランチに基づいてフォークを作成します