1

私が取り組んでいるプロジェクトには 2 つのブランチがあります。パブリック ブランチは GitHub にプッシュされ、デプロイ ブランチは Heroku にプッシュされます。deploy ブランチには秘密鍵を含むファイルが含まれており、public ブランチには LICENSE、README.md、秘密鍵ジェネレーターなどのファイルが含まれています。

プロジェクトに変更を加えるときは、展開ブランチで行い、プッシュする準備ができたら、これをパブリック ブランチにマージし、さまざまなブランチをそれぞれのリモートにプッシュします。ただし、デプロイをパブリックにマージしようとすると、Heroku 固有のファイルが追加され、GitHub 固有のファイルが削除されます。

これを防ぐために、リポジトリを同期して完全なマージを行うが、異なる .gitignore ファイルを使用する方法と、マージ中に前述のファイルを無視するために .gitattributes ファイルを使用する方法の 2 つの方法を試しました。どちらも失敗するようです。

4

2 に答える 2

0

マージ --no-commit を実行します。必要なファイルのチェックアウト/不要なファイルの削除をスクリプト化します。ここで git commit します。

git merge --no-commit origin/my-branch
git checkout --theirs License.txt
rm super-secret-key.txt
git commit
于 2012-05-12T04:23:36.330 に答える
0

おそらく、ワークフローを再考する必要があります。git リポジトリで何かを秘密にしておく必要がある場合は、パブリック ブランチで作業し、それを deploy ブランチにマージする方がよいでしょう。

「GitHub固有のファイルを削除する」が何を意味するのかわかりません。部分は、しかし、これらのファイルの削除の原因は何ですか?

于 2012-05-12T06:25:08.130 に答える