Gitで大量のファイルの中から必要ファイルのみをaddする方法

  1. コミットしたいものリストAを作成する。

  2. 以下のシェルをリストAに対して実行し、ディレクトリのリストBを作成する。

#!/bin/bash
path=`dirname $1`
if [ ${path:0:1} == "/" ];then
cnt=${tmp:1}
else
cnt=`dirname $1`
fi
echo $path
MAX_LOOP=`echo -n $cnt | sed -e '[email protected][^/]@@g' | wc -c`
i=0
while [ $i -le $MAX_LOOP ];do
echo ${path%/*}
path=`echo -n ${path%/*}`
i=`expr $i + 1`
done
  1. 以下のシェルをリストBに対して実行し、.gitignoreに追加するリストCを作成する。

#!/bin/bash
NOTIGNORE=`echo $1 | awk '{print "!/"$1"/"}'`
IGNORE=`echo $1 | awk '{print "/"$1"/*"}'`
echo $NOTIGNORE
echo $IGNORE
  1. リストAの上にリストCをくっつける。

###### all ignore ######
/*
/.*
# リストCを貼り付ける
# リストAを貼り付ける !/を先頭につけること
!.gitignore