第一次推送到远程仓库的配置文件,之后因项目每个成员的系统环境不同,配置的内容也不同,需要忽略它以防止推送
现在通过git rm --cached filename取消跟踪,然后把文件写入.gitignore中忽略,的确是能够忽略,但是提交的时候显示的变动是忽略的文件被删除,并且推送到远程仓库后被忽略的文件果然被删除了
git rm --cached filename
.gitignore
忽略的文件被删除
总的来说就是想第一次推送把文件推送上去, 以后就都不推送, 但没想到忽略的话是直接从仓库删除, 请各位指点下有何方法能实现?
ringa_lee
使用稀疏检出sparse-checkout解决了问题附上参考链接链接描述
sparse-checkout
可以试试自欺欺人的假装看不到。。
git update-index --assume-unchanged xxx/xxx
你这种情况一般是创建一个config.ini.dist供用户修改
config.ini.dist
我觉得其实你没必要在.gitignore文件中进行设置忽略文件。既然不想将那些文件推送到远程,但是又想在远程保留那些文件,直接不把它们加入到暂存区不就可以了。具体来说就是git add的时候,别把那些文件add进去就好了。但是这样做也有缺点,就是可能会遇到无法切换分支的情况,因为始终有一些未加入暂存区的修改。
git add
add
你的思路好奇怪,既然第一次提交以后就不用管,那你就没必要加到.gitignore文件里面阿,难道你这个文件一直在变化?
文件名直接加到gitignore,然后线上生成一个不就搞定了吗。干嘛非要整git呢。没看懂。
碰到过这种问题,还没找到解决方法。估计是没办法
使用稀疏检出
sparse-checkout
解决了问题附上参考链接链接描述
可以试试自欺欺人的假装看不到。。
你这种情况一般是创建一个
config.ini.dist
供用户修改我觉得其实你没必要在.gitignore文件中进行设置忽略文件。既然不想将那些文件推送到远程,但是又想在远程保留那些文件,直接不把它们加入到暂存区不就可以了。具体来说就是
git add
的时候,别把那些文件add
进去就好了。但是这样做也有缺点,就是可能会遇到无法切换分支的情况,因为始终有一些未加入暂存区的修改。你的思路好奇怪,既然第一次提交以后就不用管,那你就没必要加到.gitignore文件里面阿,难道你这个文件一直在变化?
文件名直接加到gitignore,然后线上生成一个不就搞定了吗。干嘛非要整git呢。没看懂。
碰到过这种问题,还没找到解决方法。估计是没办法