git 有办法忽略日志文件吗?

2020-12-29 18:30:05 +08:00
 LeeReamond

小白,远程同步开发时遇到日志的问题。

情况是这样,目前项目文件夹内有一个 logs 文件夹,储存一些日志文件。我在创建项目时添加了.gitignore 文件,设置忽略这个文件夹,如此一来每次 commit 就不会把日志一起传上去。

但是最近生产服务器同步时遇到问题,我希望的模式是,我在测试机器上写好代码,测试完成,然后同步到 github 远程服务器,然后生产服务器上再执行 git pull 把更新的代码拉下来。

目前这么操作之后,生产服务器执行 git pull 程序,他会说我本地与远程有不同,需要先删除冗余文件( logs 等)之后才能 pull,这显然不符合要求,每次更新代码都要清空日志也太那个了。

git 有没有当做不存在的功能?还是我哪里操作错了,请大家指点一下

1504 次点击
所在节点    问与答
16 条回复
msg7086
2020-12-29 18:47:18 +08:00
Git add 的时候不要把 logs 里的文件 add 进去。
Tianao
2020-12-29 18:48:37 +08:00
生产环境本地也有 .gitignore 吧?有的话生产环境下取消对所有已有日志文件的 git 跟踪( git rm --cached <日志文件>),以后再 pull 就不会冲突了。
LeeReamond
2020-12-29 18:50:54 +08:00
@msg7086 既然已经有.gitignore 文件了,那我执行 git add 的时候应该与被忽略文件夹无关吧,没 add 进日志文件过啊
aleung
2020-12-29 18:51:26 +08:00
没有看懂为什么 .gitignore 没能解决你的问题。你的问题到底是什么?
LeeReamond
2020-12-29 18:51:47 +08:00
@Tianao 大佬,你说这个看不太懂,所以是在某文件夹被 ignore 之后,它仍然会被追踪,需要手动取消追踪才行吗?
LeeReamond
2020-12-29 18:52:55 +08:00
@aleung 生产部署后,产生了新的日志文件,与 github 远程代码不同步。在生产服务器更新代码的时候,执行 pull 命令,会提示我当前文件夹有差异,无法同步,需要先删除差异文件,也就是 logs 等等
cnxobo
2020-12-29 18:54:13 +08:00
gitignore 只能忽略尚未被跟踪的文件。如果你之前某个提交提交过了,就算后面匹配上 gitignore , 依然会继续提交的。
choury
2020-12-29 18:54:34 +08:00
忽略之前已有文件要先在 git 中删除才行
superrichman
2020-12-29 18:55:28 +08:00
https://www.zhihu.com/question/25234996

skip worktree 或者 assume unchanged
Tianao
2020-12-29 18:59:37 +08:00
@LeeReamond #5 是的,.gitignore 只会在 add 文件时生效,如果仓库是老的.gitignore 是新的,一旦建立跟踪就需要先手动取消跟踪一次。
LeeReamond
2020-12-29 19:00:08 +08:00
@cnxobo 所以问题的原因是我之前不小心添加过 logs 这个文件夹内的文件吗?但是现在打开项目地址的话,里面是没有 logs 这个文件夹的,怎么回事呢
Lax
2020-12-29 19:19:36 +08:00
有提示的时候,git status 看看?
Lax
2020-12-29 19:21:24 +08:00
怀疑是服务器上的目录里更改了其它文件。问题不一定是你描述的这个样子,报错的信息直接复制一份来看看
LeeReamond
2020-12-29 20:42:07 +08:00
@Lax 报错信息一串英文,只记得中文含义,原文找不到了,当时为了更新就直接按要求的删文件了,没把报错记下来
Lax
2020-12-29 21:42:05 +08:00
@LeeReamond 那就不好猜了。严重怀疑实际报错信息和上面提到的中文含义不匹配,下次再遇到类似问题至少截图保存一下现场
dajj
2020-12-30 17:28:03 +08:00
@LeeReamond 从 gitignore 中去掉 logs, 然后 git rm logs 目录, 再重新添加 logs 到 ignore

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/740072

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX