首页 > 解决方案 > 如何推送一次并取消跟踪?

问题描述

我想推送config.js一次(如默认配置)以回购。但是当我推送它时,添加到 gitignore,当我尝试拉取时,它会删除我的 config.js。我应该怎么做才对?

标签: gitgithubgitlab

解决方案


将包含的提交推config.js送到远程仓库后,您可以告诉 Git 停止检查它的更改:

git update-index --skip-worktree path/to/config.js

如果您想稍后对其进行一些更改,您需要先告诉 Git 再次开始检查它:

git update-index --no-skip-worktree path/to/config.js

请注意,这仅适用于您的本地存储库——克隆存储库的每个人都必须运行相同的命令才能停止跟踪对config.js文件的更改,这可能是也可能不是问题。

一个常见的替代解决方案是@k0pernikus 描述的方法,即在单独的文件(例如config.js.default)中提交默认配置,并有一个脚本复制和重命名该文件,config.js如果它不存在的话。


推荐阅读