LaTexのコースノートをgithubに保存しています。私の同僚はLaTexの使い方を知らないので、最終的なPDFをリポジトリに入れるように頼まれました。
バイナリビルドの結果をリポジトリに保持することは一般的に悪い考えであり、プッシュするたびにPDFを外部ファイルとしてアップロードするのは便利ではありません。
PDFの最新バージョンのみをリポジトリに保持する方法はありますか?
LaTexのコースノートをgithubに保存しています。私の同僚はLaTexの使い方を知らないので、最終的なPDFをリポジトリに入れるように頼まれました。
バイナリビルドの結果をリポジトリに保持することは一般的に悪い考えであり、プッシュするたびにPDFを外部ファイルとしてアップロードするのは便利ではありません。
PDFの最新バージョンのみをリポジトリに保持する方法はありますか?
すでに github を使用している場合は、「ダウンロード」というパネルがあり、そこにファイルを追加できます。プッシュしているときにフックに追加したい場合は、おそらくそのための API 呼び出しがあります。また、ビルドして pdf をドロップボックス アカウントにコピーする/共通フォルダーに rsync する/別の share-my-files-API/.. を使用することもできます。
これもフックによってトリガーされる、pdf を生成してメールで送信するほうがよいかもしれません。
最終的にビルドし、レポに pdf を追加してからそのファイルを何度も更新すると、保持しなければならない差分が多くの不要なスペースを必要とするため、レポは非常に大きくなります。
ファイルの古いバージョンをリポジトリから削除するための簡単で適切な方法はありません。各コミットは安全です。つまり、コミットの識別子は、特に各ファイルのコンテンツを使用して構築されます。git リポジトリの履歴を書き換える方法はいくつかありますが、それを行うと、基本的に履歴を書き換えるたびに新しいリポジトリを作成することになるため、コラボレーションの可能性が完全に失われます。
別の方法は、この目的のために特別に設計されたgit annexを使用することです: 小さなリポジトリで大きなファイルを管理します。残念ながら、これはかなり新しい機能であり、公式の Git の一部ではないため、サポートはそれほど良くありません。