猿问

git可以忽略特定的行吗?

git可以忽略特定的行吗?

我在手机的原生浏览器上测试时使用git同步到phonegap。因此我有以下几行:

var isPhoneGap = false;

显然我在构建时更改了这个,但是有什么方法可以设置git来忽略这一行,或者我必须把它放在自己的文件中并忽略它吗?

我在OSX 10.6上使用Gitx和终端。


慕侠2389804
浏览 970回答 3
3回答

慕妹3242003

如果您的文件是特定类型,您可以声明一个内容过滤器驱动程序,您可以在.gitattributes文件中声明(如“ Git属性 ” 的“关键字扩展”中所示):*.yourType filter=yourFilterName实行:yourFilterName.smudge(触发git checkout)和git config --global filter.yourFilterName.smudge 'sed "s/isPhoneGap = .*/isPhoneGap = true/"'yourFilterName.clean(触发git add)git config --global filter.yourFilterName.clean 'sed "s/isPhoneGap = .*/isPhoneGap = false/"'您的文件将保持不变git status,但其签出的版本将具有正确的值isPhoneGap。

莫回无

您可以使用git update-index --assume-unchanged [file]忽略您不想跟踪的一个文件的更改。当我需要在存储库中有一个文件时我使用这个解决方案,但是这个文件有一些部分改变了我总是不需要跟踪。当文件包含重要的更改时,您必须执行以下操作:git update-index --no-assume-unchanged [file]此外,看到的Git文档更新索引的--[no-]assume-unchanged参数。指定这些标志时,不会更新为路径记录的对象名称。相反,这些选项设置和取消设置路径的“假定未更改”位。当“假定未更改”位打开时,git停止检查工作树文件是否有可能的修改,因此您需要手动取消设置该位以在更改工作树文件时告诉git。

至尊宝的传说

Gitx应该让你提交或忽略单独的行(你可能已经知道了),但是你每次提交时都必须这样做。我认为最好为每个部署目标配置一个配置文件(您可以对其进行版本设置),然后为启动服务器(如./myserver --config=whatever.js)启动一些运行时参数。
随时随地看视频慕课网APP
我要回答