GitHubでホストされているJekyllを使用した静的なWebサイトがあります。問題は、リポジトリに含まれているのはWebサイトだけなので、マスターブランチは実際には必要ないということです。
このように、私はgit checkout gh-pages
、次にgit merge master
、そして次に実行する必要がありますgit push origin gh-pages
。
gh-pages
ブランチを削除して直接プッシュする簡単な方法はありmaster
ますか?
問題は、リポジトリに含まれているのは Web サイトだけであるため、master ブランチは実際には必要ないことです。
gh-pages ブランチを取り除き、マスターから直接プッシュできる簡単な方法はありますか?
あなた自身の言葉で言えば、マスターは必要ありません。消して。gh ページで作業します。
私は自分でJekyllを使用しており、常にマスターブランチに変更を加えてオリジンにプッシュしています...
ブランチの作成を強制する人はいません...変更のレベルが複数のブランチを必要としない場合は、master ブランチで変更を行い、git push origin を実行してください。
問題を述べている方法は、マスターブランチが特別な git ブランチであるように聞こえますが、これは真実ではありません。結局のところ、master または gh-pages は、それらが指すコミットとそれらに関連付けられた refspec ルールのみが異なりますが、基本的に同じセマンティクスを持っています。
実行しているgh-pagesブランチを削除します:git branch -d gh-pages。gh-pages がまだマージされていない場合は、gh-pages を削除する前に master にマージします。次に、master ブランチのみを使用します。
両方のブランチを保持したいとします (ドキュメントも保持するため)。
マスターにプッシュした後にスクリプトを実行するだけで、次のことができます。
git checkout gh-pages
wget https://github.com/{yourgitlogin}/{your-project}-master/archive/master.zip
git rm {your-project}-master
unzip master.zip && rm master.zip
git add -u
git add .
git commit -m "update master"
git push
git checkout master
このようなものは、サイト全体を gh-pages の下のサブディレクトリとして追加し、サイトのドキュメントと最新の実行中のサンプルの両方を同じ場所にほとんど手間をかけずに配置できるようにします。