用 Git 可以控制线上代码无注释,本地代码有注释嘛?

2019-05-29 10:14:06 +08:00
 5200
比如在本地码的代码带了很多注释,
但是想代码同步到生产环境的时候把注释全部去除,
为方便后续的改版,有没有什么好的解决方案呢。

如:第一次本地写的一个文件去注释后上线,
后续本地又修改了这个文件,
在多人维护一起用这个库的时候,
如何方便的只更新改过的代码而不带多余的注释呢,
在一个 git 库内可以实现嘛,各位大佬怎么处理这种情况的。
7824 次点击
所在节点    程序员
46 条回复
5200
2019-05-29 11:16:43 +08:00
@iiusky 有子分支是有注释,只是线上代码去注释, 部署是通过 Jenkins 拉主分支。
@zhengxiaowai 是后端,emm 他们就是想想上线的代码不带注释。。
@loading 单独处理一次是没问题,之后后续更新功能后,不想整站都拉一边,后端有什么好的工具嘛?
dobelee
2019-05-29 12:33:19 +08:00
加个 post-receive 钩子不就搞定了?
love
2019-05-29 13:24:21 +08:00
用 hook, push 上去的时候把注释原地加密,pull 的时候解密
brust
2019-05-29 14:47:02 +08:00
@okoook 8
很有道理
Raymon111111
2019-05-29 15:10:58 +08:00
1 楼说的对

再想想 git 是干嘛用的
no1xsyzy
2019-05-29 15:27:04 +08:00
每次更新代码后先 reset 再 pull,再运行一次清除注释。
BreezeInWind
2019-05-29 15:30:40 +08:00
@okoook 哈哈哈让我想起了穷逼 VIP
no1xsyzy
2019-05-29 15:33:21 +08:00
但是讲道理有点爆笑了,因为你想用(不一定完整的) git 历史
> 这样就相当于线上代码更新的时候要去下载这个 500MB++ 的代码,而不是只下载那几 KB 更新的文件了。
你又想没注释,真当 .git 目录空的?

除非
1. 攻击者可能(通过漏洞等方式)获得读取后端代码权限
2. 攻击者不可能(通过漏洞等方式)获得读取 .git 目录权限
这怎么想都不可能。

还有一种就是加密注释,信息并没有被除去而只是被隐藏。
比如 AST 分析后把注释过一遍 AES 加密。
5200
2019-05-29 15:51:29 +08:00
@no1xsyzy 别人应该不能通过.git 目录在没有私有库秘钥的情况切换到其他的分支吧。。。
no1xsyzy
2019-05-29 15:57:49 +08:00
@5200 只要拉了就随便切,密钥是用来保护传输过程的,而不是本地的副本。
Android2MCU
2019-05-29 16:16:56 +08:00
加密注释啊,自己保留密钥就行了啊,这样推出去别人就看不了了,写个加解密工具分分钟的事情
az999
2019-05-29 17:35:07 +08:00
编译后 再反编译回来提交 就没有注释了
nacosboy
2019-05-29 19:12:49 +08:00
CI 做的事,AST 解析然后去注释
Cbdy
2019-05-29 19:17:38 +08:00
线上代码加预处理
linchengzzz
2019-05-29 19:36:00 +08:00
突然有一天电脑坏掉了,换了台新电脑拉取代码,发现注释都没了,完了看不懂了 TAT
shehuizhuyi
2019-05-29 19:47:54 +08:00
那不如直接加密代码?
5200
2019-05-29 19:56:04 +08:00
@linchengzzz 代码库在码云。。。
dalabenba
2019-05-29 20:01:14 +08:00
应该可以用 git hook 的 push 阶段脚本删一下(没操作过,感觉应该可以)
ETiV
2019-05-29 20:02:46 +08:00
两个 repo:一个是有注释的,一个是没注释的

开发用有注释的,用类似 GitHub Web Hook 的机制,把源代码 strip 成没注释的同步进另外的 repo。

线上用这个没注释的。
cpdyj0
2019-05-29 20:07:33 +08:00
去掉注释,拉取代码时怎么办?

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

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

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

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

© 2021 V2EX