2016-08-19 12 views
1

私は、プロジェクトのバージョン管理用にGithubリポジトリと組み合わせてSourceTreeを使用しています。しばらくの間、私はmasterを使用してすべての新しい変更をコミットしましたが、今度はgh-pagesブランチを最新コミットmasterに早送りして、ライブページをページIで更新できるようにします(通常はメジャーアップデートが終了したときに)プロダクションに参加しています。最新のコミットで最新のgh-pagesを入手してください

もう1つのSO投稿が示唆しているように私はリベースを試しましたが、SourceTreeが手動で希望の変更を手動で選択していたため、問題がさらに悪化しました。 gh-pages 1つのプロジェクトで正常にrebaseした後は、私が望むときはいつでも、gh-pagesブランチをmasterに同期させることができます(間違いなく別のリポジトリで同じ動作を再現できませんでした)。しかし、私が望むのは、最後のコミットを取得し、すべてのファイルを上書きすることです。これを行うには、通常、フォルダ全体をコピーしてmasterを別の場所にブランチした後、gh-pagesに切り替え、すべてのファイルを手動で上書きします。しかし、これは準最適ですが、大きなプロジェクトでは本当に問題になることがあります。

私が欲しいと思うのは、この手順をSourceTreeまたはスクリプトを使用して自動化することです。

TL; DR:私はリベースなしmaster中のものを持つすべてのファイルが上書きされ、その後のGithubリポジトリにプッシュします最新masterからgh-pagesは半自動的にコミット更新する方法を、必要とします。

答えて

2

しかし、私が望むのは、最後のコミットを取得してすべてのファイルを上書きすることです。あなたがすべき

  • マージgh-pages--oursオプション付きmasterに(そう、マスターは、実際には変更されません)。
  • ので(mastergh-pages早送りを意味し、同じになる)gh-pagesにマージマスター

git checkout master 
git merge --ours gh-pages 
git checkout gh-pages 
git merge master 

は数日前からそのかかわらず、忘れてはいけません、もうgh-pagesブランチを維持する必要はありません。

Simpler GitHub Pages publishingは今(もうgh-pagesは必要ありません)同じブランチのサブフォルダでページファイルを維持することができます: `master`にしながら、

Now you can select a source in your repository settings and GitHub Pages will look for your content there.

+0

私は、コマンドのシーケンスを実行する必要がありますあるいは 'gh-pages'の間に? 'gh-pages'ブランチを保守しないという考え方は、実際には変更を加えるのにはいいと思うのですが、私はたぶんページの残りの部分とライブ版を同時に破壊することなく作業することができます。ありがとう! –

+1

@AngelosChalarisそのコマンドのシーケンスは現在のブランチの設定を必要とします。どのブランチからでも起動できます(好ましくはクリーンなワークスペースで)。 – VonC

+0

あなたの答えとこの新機能の紹介に感謝します。 –

関連する問題