git涂抹后文件是空的

时间:2018-01-29 12:52:55

标签: git attributes

我在项目中引入git属性时遇到了一些问题。

我试图处理配置文件,具体取决于我们所在的分支机构。 (如果是开发环境,有效的集成等,则开发......)。

经过一些研究,我发现git属性的想法非常有用,尤其是filter属性。

所以现在,我正在尝试对此进行编码。实际上我有一些适合我的代码:

#!/bin/bash

############# Script parameters #############
while getopts "d" opt; do
 case $opt in
    d) source_conf="${branche}_dev_conf.txt" ; file_to_find="job_dev.properties" ;; 
 esac
done
########################################################

source_conf="${source_conf:-${branche}_conf.txt}"

file_to_find="${file_to_find:-job.properties}"

job_to_trt="$(find $PWD -type f -name $file_to_find)"
if [ ! -z "$job_to_trt" ] ; then 
    cp "$job_to_trt" "$backup_dir/$(basename $job_to_trt)"
    while read key value
    do
        echo -e "\t key=$key, value=$value" >> "$log_file"
        grep "$key=$value" "$backup_dir/$(basename $job_to_trt)" ; res="$?"
        if (( $res != 0 ))  ; then 
            sed -i "s|$key=.*|$key=$value|g" "$job_to_trt"
        fi 
    done < "$util_dir/conf/$source_conf"
fi

if [ "$(ls $branche_dir | wc -l)" -gt 10 ] ; then 
    for dir in $(ls -t $branche_dir | tail -n $(($(ls $branche_dir | wc -l) - 10)))
    do  
        rm -rf "$branche_dir/$dir"
    done 

fi

此脚本(取决于&#39; d&#39;参数)正在我的git项目中查找作业[_dev] .properties,并在必要时重置其中的一些变量。

此脚本在clean和smudge操作上执行。

但现在问题是,当我的其他人试图拉动项目时,两个文件的作业[_dev] .properties都是空的,我不明白为什么......

我错过了重要的事情吗?

有关信息: Git版本:     git版本1.7.1

.gitattributes:

job.properties filter=LHRJob
job_dev.properties filter=LHRJobDev

.gitconfig(global):

[filter "LHRJob"]
  clean = /data/atl_sncftn/utils/util_git/util_lhr/cleanJob.sh
  smudge = /data/atl_sncftn/utils/util_git/util_lhr/cleanJob.sh
[filter "LHRJobDev"]
  clean = /data/atl_sncftn/utils/util_git/util_lhr/cleanJob.sh -d 
 smudge = /data/atl_sncftn/utils/util_git/util_lhr/cleanJob.sh -d

0 个答案:

没有答案