gitブランチを使用するherokuはわかりにくいです!
-
22-07-2019 - |
質問
わかりました。だから、小さなStaciaブランチをマージすることになっていない大きなgithubプロジェクトがあります。ただし、HerokuはMASTERのプッシュのみを真剣に考えているようです。ブランチをプッシュしたように見えますが、たとえば、ブランチしか持っていない場合は、サーバー上にコードがないような動作さえします。 .gemsファイルがブランチ上にあるため、gemをインストールすることさえできません。
基本的に、Herokuにマスターがいることを知らせたくはありません。テスト用のStaciaブランチを使用したいだけです。しかし、それは私のローカルブランチを無視し続けます。これを行う方法はありますか?繰り返しになりますが、メインのGithubリポジトリに何も上書きしたくありません(しかし!)
私は完全にgit初心者です(windowsでも同じです)。
解決
最初のステップは、ローカルブランチをそのマスターの上にリベースしていることを確認することです(リポジトリ 'mainGitHubRepo'にあるとします)
git fetch mainGitHubRepo master
git checkout -b mainGitHubMaster mainGitHubRepo/master
次にブランチに戻り、mainGitHubMasterの上でそれを再生します:
git checkout Stacia
git rebase mainGitHubMaster
georgebrock がコメントで言及しているように、中間ローカルブランチ mainGitHubMaster <を作成する必要はありません。 / code>:fetchブランチの上に直接リベースできます。
git checkout Stacia
git rebase maingithubrepo/master
その後、ブランチをGitHubフォークにプッシュできます、プルリクエストを行います。
ローカルブランチを確立されたリモートにプッシュするには、単に次を使用する必要があります:
git push REMOTENAME BRANCHNAME
。
リモートブランチで同じ名前を使用したくない場合は、次を使用できます:
git push REMOTENAME LOCALBRANCHNAME:REMOTEBRANCHNAME
。
( David Dollar が彼の答え: git push heroku yourbranch:master
)
注:GitHubに独自のフォークがある場合は、このフォークの「マスター」で直接作業できます。つまり、プルリクエストは「マスター」ブランチから送信され、考慮される可能性が高くなります。
ただし、前述のプロセスは有効なままです。プルリクエストは、変更を統合する者にとって些細なマージになる必要があるため、リベース手順をローカルで行う必要があります。
他のヒント
別のブランチをHerokuにプッシュする場合は、次のようなことができます
git push heroku yourbranch:master