参考: https://my.oschina.net/zlLeaf/blog/197740
.gitignore 只能忽略 不加入git版本控制的文件。
而加入版本控制,而不希望后续的修改被误提交,可以使用如下方法。
git 忽略对目标文件的改动,例如配置文件:
#!/bin/sh
#########################################################
# 设置 需要使用git进行版本管理,但不进行后续改动的追踪
# 设置不追踪改动
#########################################################
echo "asume starting ..."
cd ..
mvn clean 1>/dev/null
need_untrack_file_keywords=(
dubbo_conf.properties
log4j2.xml
disconf.properties
)
for i in ${need_untrack_file_keywords[@]}
do
find . -iname $i | xargs git update-index --assume-unchanged
echo "success assume unchanged >>> $i "
done
echo "asume success end ..."
sleep 3
恢复对目标文件的修改追踪:
#!/bin/sh
#########################################################
# 设置 需要使用git进行版本管理,但不进行后续改动的追踪
# 设置追踪改动
#########################################################
echo "no-asume starting ..."
cd ..
mvn clean 1>/dev/null
need_untrack_file_keywords=(
dubbo_conf.properties
log4j2.xml
disconf.properties
)
for i in ${need_untrack_file_keywords[@]}
do
find . -iname $i | xargs git update-index --no-assume-unchanged
echo "success no-assume unchanged >>> $i "
done
echo "no-asume success end ..."
sleep 3