Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何推一次且不追踪?_Git_Github_Gitlab - Fatal编程技术网

Git 如何推一次且不追踪?

Git 如何推一次且不追踪?,git,github,gitlab,Git,Github,Gitlab,我想将config.js像默认配置一样推送到repo。但当我推它时,添加到gitignore,当我尝试拉它时,它会删除我的config.js。如何正确操作?将包含config.js的提交推送到远程repo后,您可以告诉Git停止检查更改,方法是: git update-index --skip-worktree path/to/config.js 如果您想稍后提交对它的一些更改,您需要首先告诉Git重新开始检查它,方法是: git update-index --no-skip-worktree

我想将config.js像默认配置一样推送到repo。但当我推它时,添加到gitignore,当我尝试拉它时,它会删除我的config.js。如何正确操作?

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

git update-index --skip-worktree path/to/config.js
如果您想稍后提交对它的一些更改,您需要首先告诉Git重新开始检查它,方法是:

git update-index --no-skip-worktree path/to/config.js
请注意,这只适用于您的本地存储库―克隆repo的每个人都必须运行相同的命令才能停止跟踪对config.js文件的更改,这可能是问题,也可能不是问题


一种常见的替代解决方案是这种方法,即在单独的文件(例如config.js.default)中提交默认配置,并使用脚本将该文件复制并重命名为config.js(如果该文件不存在)。

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

git update-index --skip-worktree path/to/config.js
如果您想稍后提交对它的一些更改,您需要首先告诉Git重新开始检查它,方法是:

git update-index --no-skip-worktree path/to/config.js
请注意,这只适用于您的本地存储库―克隆repo的每个人都必须运行相同的命令才能停止跟踪对config.js文件的更改,这可能是问题,也可能不是问题


一种常见的替代解决方案是这种方法,即在单独的文件(例如config.js.default)中提交默认配置,并使用脚本将该文件复制并重命名为config.js(如果该文件不存在)。

我建议另一种解决方案:

将config.js添加到.gitignore,并将其从repo中完全删除 将config.js.template文件添加到repo中,并使用默认值 在自述文件中,也可能是安装脚本的一部分,让其他用户将config.js.template复制到config.js并填写其值 这样,您就不会错误地将更改添加到config.js中,并将其创建作为引导过程的一部分


<> P>有一种方法告诉Git对一个文件进行不变的处理,但我认为在与它格格不入之后不值得。

< P>我提出另一个解决方案:

将config.js添加到.gitignore,并将其从repo中完全删除 将config.js.template文件添加到repo中,并使用默认值 在自述文件中,也可能是安装脚本的一部分,让其他用户将config.js.template复制到config.js并填写其值 这样,您就不会错误地将更改添加到config.js中,并将其创建作为引导过程的一部分


<> P>有一种方法告诉Git对待一个文件没有变化,但我认为它不值得在它摔跤之后。

< P>一个解决方案,更接近手到您的尝试解决方案,虽然我不会真正推荐的是使用:

git update-index --assume-unchanged <file>

请记住,这些更改不会传播到远程设备。因此,对于每个克隆,您都必须明确地告诉git假定文件没有更改。

一个与您尝试的解决方案更接近的解决方案,尽管我并不真正推荐使用:

git update-index --assume-unchanged <file>
请记住,这些更改不会传播到远程设备。因此,对于每个克隆,您都必须明确地告诉git假定某个文件没有更改