git 有办法忽略日志文件吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LeeReamond
V2EX    问与答

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

  • &nbs;
  •   LeeReamond 2020-12-29 18:30:05 +08:00 2132 次点击
    这是一个创建于 1795 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    skip worktree 或者 assume unchanged
    Tianao
        10
    Tianao  
       2020-12-29 18:59:37 +08:00   1
    @LeeReamond #5 是的,.gitignore 只会在 add 文件时生效,如果仓库是老的.gitignore 是新的,一旦建立跟踪就需要先手动取消跟踪一次。
    LeeReamond
        11
    LeeReamond  
    OP
       2020-12-29 19:00:08 +08:00
    @cnxobo 所以问题的原因是我之前不小心添加过 logs 这个文件夹内的文件吗?但是现在打开项目地址的话,里面是没有 logs 这个文件夹的,怎么回事呢
    Lax
        12
    Lax  
       2020-12-29 19:19:36 +08:00
    有提示的时候,git status 看看?
    Lax
        13
    Lax  
       2020-12-29 19:21:24 +08:00
    怀疑是服务器上的目录里更改了其它文件。问题不一定是你描述的这个样子,报错的信息直接复制一份来看看
    LeeReamond
      &nbs; 14
    LeeReamond  
    OP
       2020-12-29 20:42:07 +08:00
    @Lax 报错信息一串英文,只记得中文含义,原文找不到了,当时为了更新就直接按要求的删文件了,没把报错记下来
    Lax
        15
    Lax  
       2020-12-29 21:42:05 +08:00
    @LeeReamond 那就不好猜了。严重怀疑实际报错信息和上面提到的中文含义不匹配,下次再遇到类似问题至少截图保存一下现场
    dajj
        16
    dajj  
       2020-12-30 17:28:03 +08:00
    @LeeReamond 从 gitignore 中去掉 logs, 然后 git rm logs 目录, 再重新添加 logs 到 ignore
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1032 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 23:36 PVG 07:36 LAX 15:36 JFK 18:36
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86