我在Git中有一个项目,我将在许多PC上安装。有一个名为config.ts的配置文件,它具有以下结构:
export var config = {
apiUrl: "",
local: "",
scannerUrl: "",
reportPrinterUrl: ""
}
我需要的是在执行git pull origin master命令时创建文件(如果不存在),但在修改它时停止跟踪它,以便可以在任何PC中修改它,并且不会推送或删除配置下一次拉。
我已经阅读了一些问题和文章,但我看到很多选项,比如git stash,--asume-unchanged,但仍然不太确定如何做。
(抱歉英语不好)
修改
我发现忘记文件的最简单方法是在每台电脑上执行此命令
git update-index --assume-unchanged <file>
编辑2
就像torek在评论中所说,当前最好的解决方案是创建“模板”文件并将其命名为“config.blank.ts”(或类似的东西)然后添加到.gitignore“config.ts”文件。所以程序应该克隆repo然后将文件复制到config.ts然后修改它。
答案 0 :(得分:0)
将此项目克隆到不同的本地计算机上时,您希望对配置文件进行必要的更改。为了防止这些更改被推回到远程存储库,请不要将这些更改添加或提交到您的git历史记录。
假设你有文件x,y和z。您对所有这三个文件进行了更改,但您不想推送文件y中所做的更改。
git add /path/to/x
git add /path/to/z
git commit
# etc
如果说您的配置文件在之前的提交中一直在添加,则必须运行以下命令。
echo "config.ts" > .gitignore
git rm --cached config.ts
如果您再运行git status
,则会看到您的配置文件已被删除。这只会在您的git-index上删除,而不会在您的计算机上实际删除。