2009-12-01 8 views
10

だから、大きなスタジオのブランチをマージしてはいけないという大きなgithubプロジェクトがあります。しかし、HerokuはMASTERを真剣に押し出すように思える。私の枝をプッシュしたように見えますが、たとえば私が枝を持っているだけであれば、サーバー上にコードがないように動作します。 .gemsファイルが私の枝にあるので、宝石をインストールすることさえできません。heroku git branchを使っていると混乱します!

基本的に私はHerokuにマスターがあることを知らせたくありません。私はちょうど私のテストStaciaブランチを使いたいと思う。しかし、それは私の地元の支店を無視し続けます。これを行う方法はありますか?また、メインのGithubリポジトリ(eeek!)上のものを上書きしたくないのですが、もし私が主人公と私の支店の両方に英雄をつけてそこにマージしていれば、おそらく大丈夫でしょう。

私は合計の初心者です(窓にはそれほどありません)ので、私に同行してください。

答えて

2

最初のステップは、その後、戻ってあなたの支店に行き、それを再生

git fetch mainGitHubRepo master 
git checkout -b mainGitHubMaster mainGitHubRepo/master 

(のは、それはそのレポ「mainGitHubRepo」であると仮定してみましょう)あなたはそのマスターの上に自分のローカルブランチをリベースしていることを確認していますmainGitHubMasterのトップ:あなたが直接フェッチ枝の上にリベースすることができます: georgebrockコメントで言及したよう

git checkout Stacia 
git rebase mainGitHubMaster 

、あなたは中間のローカルブランチmainGitHubMasterを作成する必要はありません。

git checkout Stacia 
git rebase maingithubrepo/master 

その後、あなたはあなたのbranch to your GitHub forkを押し、次にpull requestを作ることができます。

確立し、リモートにローカルブランチをプッシュする、あなたは、単に使用する必要があります。
git push REMOTENAME BRANCHNAME
リモートブランチで同じ名前を使用しない場合は、
git push REMOTENAME LOCALBRANCHNAME:REMOTEBRANCHNAMEを使用できます。

David Dollarhis answerに言及するものである:git push heroku yourbranch:master

注:GitHubの上で、独自のフォークを持っている場合、あなたは、プルリクエストが来る意味、このフォークのための「マスター」に直接仕事ができます「マスター」支店から、あなたのチャンスを考慮する。
しかし、前述のプロセスは有効です。プルリクエストでは、変更を統合するユーザーのために簡単なマージが必要になるため、ローカルでリベースする必要があります。

+0

ような何かを行うことができます: 'Gitはmaingithubrepoをフェッチ; git checkout stacia; rebase maingithubrepo/master' – georgebrock

+0

@georgebrock良い点、私はより多くの可視性のために答えに含めました – VonC

58

あなたはHerokuのに別のブランチをプッシュしたい場合は、あなたはローカルブランチを作成せずに、リモート追跡ブランチ上にリベースすることによって、このプロセスのステップをスキップすることができ

git push heroku yourbranch:master 
+13

これは受け入れられた答えでなければなりません。 –

+0

完璧に働いた - ありがとう! – Jim

関連する問題