
先说一下场景,因为业务关系,客户很多是军警或者涉密部门
所以你懂的,他们的内网是和外网隔离的。
别说连外网,插个自己的 u 盘都报警。。。
所以目前把系统代码更新到现场,方法是公司里面写好后,把源码发到现场人员自己的电脑,然后使用现场单位提供的 [特供 u 盘] ,把代码覆盖到内网机器。。
而有时候需要在单位现场改代码,然后同步回公司,一般是内网机器下的代码改好后,把改动过的代码文件通过单位提供的 [特供 u 盘] ,拷到自己的电脑,然后用自己的电脑连外网同步到公司。。。。
有什么好的工具或者方法,不用手动复制粘贴呢,每次这么搞都很操蛋。。。
说白了,如何能轻松方便的往隔离外网的局域网机器里同步代码呢????
1 exip 2021 年 1 月 14 日 via Android 你确定你把想要的功能实现了,还有回家过年? |
2 polyang 2021 年 1 月 14 日 没办法吧?要是有办法的话,人家搞内网的意义在哪儿? |
4 mascteen 2021 年 1 月 14 日 via Android 搞个跳板 |
5 lizytalk 2021 年 1 月 14 日 就算对方的隔离有漏洞也别作死... |
6 MeteorCat 2021 年 1 月 14 日 via Android 军警涉密部门你还敢这么干 |
7 whitehack 2021 年 1 月 14 日 老老实实的吧.别犯法. |
8 php8 2021 年 1 月 14 日 via Android git 可以离线使用,把 repo 打个 zip 包,手动复制 zip 包,代码变更记录交给 git 管理 |
9 hinate 2021 年 1 月 14 日 via iPhone 坚持向内同步,不要反向同步。 |
10 Overfill3641 2021 年 1 月 14 日 我觉得如果实现了,是不是可以用作黑入呢?那是不是可以免费居住了呢? |
11 kaneg 2021 年 1 月 14 日 via iPhone 不管技术能不能做到,你都不能以身试法。 |
12 Fading2276 2021 年 1 月 14 日 |
13 7654 2021 年 1 月 14 日 windows 的公文包 |
14 jr55475f112iz2tu 2021 年 1 月 14 日 对于这类型客户,你首先要想的是这是否合法合规,而非是否方便 否则上面很多人已经提过了,很容易就进去了 |
15 EastLord 2021 年 1 月 14 日 把代码背下来 |
16 loading 2021 年 1 月 14 日 via Android 居然还能用特种 U 盘,应该用光盘啊。 |
17 mengyx 2021 年 1 月 14 日 git bundle 了解一下 https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E6%89%93%E5%8C%85 或者 git patch 也可以 |
18 jimmyismagic 2021 年 1 月 14 日 patch 再 apply 回去 |
19 AmitabhaPk 2021 年 1 月 14 日 你这是找死啊兄弟,保密是天条。。。 |
20 dorothyREN 2021 年 1 月 14 日 @czfy #14 这不是很容易,是肯定 |
21 boris93 2021 年 1 月 14 日 via Android 这种地方我只强调三个规矩 合规 合规 还是,他妈的,合规 |
22 redtea 2021 年 1 月 14 日 via iPhone 要是实现需求了,要吃花生米了。 |
23 LGA1150 2021 年 1 月 14 日 git format-patch 或 git diff 生成补丁 拷贝到目标机后再 git am 或 git apply 打补丁 |
24 LGA1150 2021 年 1 月 14 日 顺便补充下,git format-patch 生成的补丁是可以直接当电子邮件发送的,很多开源项目的维护也是靠的电子邮件发补丁,包括 Linux 内核 |
25 shijingshijing 2021 年 1 月 14 日 怎么方便怎么来,一波骚操作,后半辈子就不愁吃住了。 |
26 wzzzx 2021 年 1 月 14 日 不想努力了嘛? |
27 rb6221 2021 年 1 月 14 日 前几个月还有新闻呢,医院系统 运维私自在外网访问内网机器 然后系统出故障了导致收入损失上千万 人蹲号子了 |
29 wc951 2021 年 1 月 14 日 via Android 看来你们单位保密考试还是考的少了,去复习一下涉密人员管理条例以及国家保密法 |
30 Puteulanus 2021 年 1 月 14 日 搜了一下,git 支持添加本地路径作为 remote https://superuser.com/questions/1367571/using-git-across-multiple-systems-without-network-access/1367582 特供 U 盘里直接拷整个 repo,当成 git 库来用怎么样,内网机器改完打个 commit,push 到特供 U 盘 repo,特供 U 盘插到你电脑上,你本地 repo pull 一下,联网了再 push 回公司 repo |
31 SIGEV13 2021 年 1 月 15 日 商业机密是民法,国家机密是刑法。老哥量力而行 |
32 fiveelementgid 2021 年 1 月 15 日 via Android 您好,我是大陆北方网友,对您所说的技术要求很感兴趣 |
33 swulling 2021 年 1 月 15 日 via iPad 30 楼正解,在 U 盘里放一个 repo |
34 340244120w 2021 年 1 月 15 日 via iPhone 1 git patch,缺点是内网机器也需要装 git. 2 装个文件对比工具,内网机器保留两份源码,用其中一份修改,另一份用来被对比。最后用软件把差异文件导出来。 3 最简单粗暴的还是把修改后的项目从内网机器上压缩拷回来(只复制粘贴一次),回来直接覆盖本地项目不就可以了吗。 也完全不用拷 git repo |
35 614457662 2021 年 1 月 15 日 via Android @fiveelementgid 不是南方网友才对嘛 手动狗头 |
36 mcone 2021 年 1 月 15 日 这年头,还真有自己找花生米吃的…… 考试考少了 + 1 |
37 CloseToWheat 2021 年 1 月 15 日 本地装 git 不够嘛?在内网提交到本地,到外网直接 push 啊 |
38 myd 2021 年 1 月 15 日 git format-patch 生成补丁 |
39 wozhizui 2021 年 1 月 15 日 你在内网环境搭建个 git 服务器不就可以了 |
40 wozhizui 2021 年 1 月 15 日 然后统一由一个技术管理者,每天人肉将这个 git 服务器的硬盘插拔下来,带回你的公司。 这种场景,只能人肉插拔。 |
41 omghonor 2021 年 1 月 15 日 相似业务,不过我们是金融行业,生产网络是专网,代码上传只能靠硬盘,下载要走流程。无解的。信息安全和稳定是头等大事。 |
42 zyq2280539 2021 年 1 月 15 日 git patch |
44 biguokang OP @340244120w 1 、2 这个可以,因为内网的要求只是不连外网,装个 git 没问题,所以把 u 盘做成一个 git 库可以。。。至于第 3 个其实无解,因为整个项目加起来可能有上 g 大,然后我们自己的电脑连外网都是用手机热点连外网的,流量伤不起,所以之前才要一个一个文件抽出来 |
47 yingfengi 2021 年 1 月 15 日 via Android 加网闸,然鹅你的申请不会通过的 |
48 LLLYang 2021 年 1 月 15 日 没啥用,我现在也是这样的 |
49 LLLYang 2021 年 1 月 15 日 只能自己搞代码对比软件,然后一个一个类去对 |
51 young1lin 2021 年 1 月 15 日 感觉你在刀尖上干活啊 [doge] |
52 Judoon 2021 年 1 月 15 日 把需要在前场变更的 git 仓库单独用 docker 建立一个 gitlab,数据以及 docker 镜像都放在移动硬盘。 每次使用的时候,插上硬盘,用 docker 把 gitlab 仓库在本地起起来,改完代码同步到本地的 gitlab 。拿回公司类似操作同步到公司总的 gitlab 服务器上。 为以防万一,硬盘可以做一些镜像备份或者在公司做实时同步之类的 |
53 qiumaoyuan 2021 年 1 月 15 日 直接插着 U 盘写代码不就完了,一来编写和保存代码根本没多少 IO 工作,二来现在的 U 盘读写也不差,为啥非得拷出来? |
54 IMCA1024 2021 年 1 月 15 日 3 、4 年前,曾经一项目是 云南省公安厅的,经历跟楼主差不多 没办法 老老实实。 |
55 SmiteChow 2021 年 1 月 15 日 git format-patch git am |
56 no1xsyzy 2021 年 1 月 15 日 你是不是忘记了 git 最初的使用方式? 邮件,发来发去。 邮件换成专用 U 盘没有什么本质区别。 |
57 iSecret 2021 年 1 月 15 日 @Puteulanus 本地路径做 remote 仓库,刚刚实验了一下,可以 pull,但是 push 会报错,不知道是不是姿势不对。 ```shell $ git push origin master Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Writing objects: 100% (3/3), 257 bytes | 257.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) remote: error: refusing to update checked out branch: refs/heads/master remote: error: By default, updating the current branch in a non-bare repository remote: is denied, because it will make the index and work tree inconsistent remote: with what you pushed, and will require 'git reset --hard' to match remote: the work tree to HEAD. ... ! [remote rejected] master -> master (branch is currently checked out) error: failed to push some refs to '/Volumes/NONAME/test.git' ... ``` |
58 beryl 2021 年 1 月 15 日 没有办法,之前做过类似的,甚至问题日志都是对着屏幕,手抄到纸上。 或者换个思路,在客户现场的内网环境电脑作为主开发,相当于驻场 |
59 niub 2021 年 1 月 15 日 2019 年的时候去某银行 POC 的时候,也是这样哈哈,只不过当时用的云主机开发+部署 |
60 vivisidea 2021 年 1 月 15 日 可以走 docker 部署么?每次直接同步镜像,而不是代码。。 |
61 dingwen07 2021 年 1 月 16 日 via iPhone 如果有的话,试试看用麦克风和扬声器组网 |
62 Puteulanus 2021 年 1 月 16 日 |
63 elintwenty 2021 年 1 月 16 日 如果可以 docker 部署的话,直接切换镜像仓库进行同步就实现这些功能了,非常简单,就是拷贝镜像过程可能比直接拷贝代码长一些 |
64 user0 2021 年 1 月 16 日 刚刚试了一下 git 本地仓库,仅供参考: |
66 user0 2021 年 1 月 16 日 # 以下操作在客户电脑 |
67 user0 2021 年 1 月 16 日 1. cd proj-src #proj-src 为已开发的代码路径 2. git init 3. git add -A && git commit -m "Initial commit" 然后使用 u 盘把客户电脑上的代码仓库拷到自己的电脑上, 这个步骤只需要做一次 以后客户的代码一旦变更,仍然使用 git 提交到本地的仓库,不需要 git push, 然后将变更使用 git format-patch 生成 patch 文件, 最后用 u 盘把 patch 拷贝到自己电脑上就行了 |
68 qian19876025 2021 年 1 月 16 日 成都的外包? |
69 wolong 2021 年 1 月 16 日 via iPhone 我以前做过内网涉密系统维护,只能用光盘拷文件,一插 u 盘就报警,虽然不至于坐牢,但是差点给我开了,后来研究了内网的报警系统,分析是系统会检测新增磁盘的可写性,把 u 盘设为只读应该没问题。然后大胆试了一下,果然没报警了。后来请示了领导问能不能用 U 盘这么用,领导说只要系统不报警随便你怎么玩。 我维护的那个系统安全级别比公安网低,楼主还是按规程来,麻烦就麻烦点,反正都计算在工作量里了,别节外生枝。既然都要插 U 盘,复制粘贴和 push pull 又有多大区别。 |
70 sprite82 2021 年 1 月 17 日 内网的机器装一个 git,建立一个本地仓库,然后通过这个本地仓库在内网开发,出来时把整个仓库拷出来。然后在外面把这个仓库的提交记录什么的全都 pull 到你自己的电脑上,并进行 merge 等操作。同理 进去的时候,把外面的 git 仓库带进去即可。而不是一个个文件拷贝 |