2018年3月3日土曜日

Git管理ソースから一部を除外してリリース用ソースを作る方法

こんばんは。ひっくです。

ここ最近、表題のようなことをやる機会がありました。
その際少し手間取ったので、方法を備忘録として残しておきます。

前提条件


 ・Gitでソース管理していること
 ・Visual StudioでGit連携していること

除外したいディレクトリ/ファイルを編集する



今回ソリューションに追加しているプロジェクトは以下の通りとします。

これら全てをGit管理しており、単純にエクスポートした場合は以下の通り出力されます。

"「TestApp1」、「UnitTest1」のどちらも開発用としては必要だけれども、リリース用ソースには含めたくない"
という要望があるとします。
その要望を叶えるため、.gitattributesファイルを編集していきます。以下にその方法を示します。

1.gitattributesファイルを作成する
   gitリポジトリの存在するルートディレクトリに.gitattributesファイルが存在しない場合、作成します。
   まず、ソリューションエクスプローラーの「設定」を押下。
   

   次に、「リポジトリ設定」を選択します。

   中断辺りに、IgnoreとAttributesファイルの編集/追加ノードがあるので、Attributesファイルの追加を選択。

2.gitattributesファイルを編集する
   そうすると編集できるようになるので、続けてAttributesファイルの編集を選択。

   編集内容は以下の通りにします。

   ※あるフォルダを除外したい場合、「フォルダ名/ export-ignore」で指定フォルダ以下(サブフォルダ含む)を除外します。
    あるファイルを除外したい場合、「ファイル名/ export-ignore」で指定ファイルを除外します。
    gitignore/gitattributesファイルも含めたくない場合、上記のように編集すればOK。

3.gitattributesファイルの編集内容をコミット
   最後に編集内容をコミットしておきます。これで準備完了。


zip形式で出力する



1.Git Bashを起動し、Gitリポジトリの存在するルートディレクトリに移動する
 

※ 「cd」入力後、Gitリポジトリの存在するルートディレクトリをGit Bashにドラッグ&ドロップ。その後、Enter押下。

2.コマンドを発行する
発行するコマンドは以下の通り。
git archive HEAD --worktree-attributes -o 【出力ファイル名】.zip

Enterを押下すると、Gitリポジトリの存在するルートディレクトリ直下に「【出力ファイル名】.zip」ファイルが作成されます。
解凍して中身を確認したら、以下の様になっています。
(gitattributesファイルで除外指定したディレクトリ/ファイルを含まないソース一式ができました。)


以上、Git管理ソースから一部を除外してリリース用ソースを作る方法でした。
今回はこのへんで。ではまた!

0 件のコメント:

コメントを投稿