ソースコードの納品(アーカイブ)について

納品時にソースコードをアーカイブすると思いますが、その際に不要なファイルやフォルダを除外してアーカイブしたいと思うことはないでしょうか?
今回はその方法を説明します。


ルートトップに『.gitattributesファイル』を作成する。

├─ .github
├─ lib
│   ├─ main.dart
│
├─ .gitattributes //追加
├─ .gitignore

『.gitattributesファイル』に、除外したいファイルやフォルダ名を記載。

/test/.gitattributes

.gitignore export-ignore //ファイルを除外したい場合
.github/ export-ignore //フォルダごと除外したい場合

git archiveコマンドを叩く。

git archive --worktree-attributes --format=zip --output=test.zip HEAD

ルート直下に、test.zipという圧縮ファイルが作られます。

コマンドの解説

  • git archive: Gitリポジトリの内容をアーカイブするためのGitコマンドです。

  • --worktree-attributes
    .gitattributes 内に記載した除外項目を有効化します。

  • --format=zip
    アーカイブのフォーマットをZIP形式に指定します。

  • --output=test.zip
    出力されるアーカイブファイルの名前を指定します。

  • HEAD
    アーカイブするリポジトリの状態を指定します。HEADは通常、現在チェックアウトされている最新のコミットを指します。
    別のブランチを指定したい場合は、feature/test-second という感じでブランチ名を指定することもできます。

以上です。是非、試してみてくださいね!

この記事が気に入ったらサポートをしてみませんか?