我正在处理一个Django项目,其__init__.py
文件包含一个变量DOCUMENTS_CACHE = True
,这会导致报告的输出在运行时被缓存。这是在我们的dev
和master
分支中声明变量的方式。
当我在本地开发和测试时,我经常需要多次运行报告,重新使用相同的输入,以确保输出正在改变。为了避免报告被缓存(并且在第一次运行后看到报告输出,尽管进行了更改),我设置了DOCUMENTS_CACHE = False
。
对于我处理的每个功能,我根据dev
分支的当前状态使用Git创建一个新分支,因此我始终使用DOCUMENTS_CACHE = True
和我开始一个新功能始终需要手动将其更改为DOCUMENTS_CACHE = False
。
我无法将此更改推送到dev
,因为这会让同事感到不安。
问题
如何对我创建的每个新分支进行这么小的更改?如何避免意外添加,提交和推送?我所知道的两个选项如下,但两者都依赖于我记住要做的事情。当我在本地开发时,是否有一种编程方式替换每个新分支中的dev
版本的文件,然后在推送之前重新引入文件的dev
版本?
git checkout __init.py__
以将其恢复到原始状态然后再推送?git stash
和git stash apply
看起来我似乎过度思考这么小的事情,但这是我的第一个软件工程角色,我真的想尽可能多地学习Git和正确的工作流程。谢谢!
答案 0 :(得分:1)
我同意用环境变量解决这个问题是一个更清晰的解决方案,但只是为了完成,以下是使用git实现这一目标的方法。
Git有钩子,它是在git事件上运行的bash脚本。您需要配置三个
首先Count
和 var lstAllPlaces = allPlacesDTO.World.Countries.Where(x => x.Places != null).SelectMany(x => x.Places).ToList();
if (lstAllPlaces.Count() == 0)
{
return;
}
你会想做一些像
post-checkout
并在post-commit
BRANCH=$(git branch | grep '^\*' | cut -b3- | cut -f1,2 -d'-')
BRANCHTYPE=${BRANCH%/*}
if [[ $BRANCHTYPE == 'master' ]] || [[ $BRANCHTYPE == 'develop' ]]; then
echo 'DOCUMENTS_CACHE = True' > __init.py__
else
echo 'DOCUMENTS_CACHE = False' > __init.py__
fi