手里有很多项目的代码(大概几十 G ),其中有些项目隔三差五可能就要做点稍微的小改动;比较难受的情况是在家会用台式机编程,出差用笔记本操作 这样多台代设备码不同步(目前是用 git 每次拉取),感觉很不方便!
有没有一种方法可以实现把云端的硬盘挂载到本地电脑,本地电脑写代码时无感自动同步到云端。这样不管是用哪台设备编程直接挂载下硬盘就行了 目前看到有些技术可以实现云盘挂载到本地:CloudDrive 、Alist 等等,暂时还没尝试,不太明白这些适不适合我的需求。
特来问问有没有大佬和我有一样的需求,你是咋解决的,使用感受咋样
ps: 不想使用移动硬盘,怕丢怕坏
1
Mandyer 2023-05-12 11:36:14 +08:00 1
不就是云编程吗,服务器搭一套环境,多设备同时开发。但貌似没推广开。
|
2
litchinn 2023-05-12 11:37:47 +08:00 16
你用 git 为啥会代码不同步呢
|
3
yinmin 2023-05-12 11:39:14 +08:00
onedrive 多设备文件同步 + git 用来做备份
|
4
lujiaosama 2023-05-12 11:44:11 +08:00
自己搭个服务器, SSH 到服务器编程.
|
6
ConfusedBiscuit 2023-05-12 11:48:08 +08:00
1. 省事方案,笔记本直接连家里台式机远程桌面,不但不用同步代码,还能享受台式机性能
2. 专门搞个开发机,vscode remote 或 JetBrains Gateway 远程连接 个人不太看好 ondrive 等云同步方案,因为云同步在后台运行的时候你可能不会关注同步进度,如果还没同步完就关机了……还有,这种双向同步的方案容易冲突,git 冲突了还能提醒你 merge ,云同步的话…… |
7
ConfusedBiscuit 2023-05-12 11:49:12 +08:00
再补充一个方案
3. 专门搞个开发机,vnc 或 rdp 远程桌面上去也行 |
8
pretty66 OP @ConfusedBiscuit 感谢建议,同样比较担心 ondrive 这种使用体验,远程桌面这个也试过对带宽要求有点高 网络不好的话卡顿,第 2 点:搭建过服务器上面装 code server (浏览器操作编程的感觉不太方便),vscode remote 或 JetBrains Gateway 这俩没试过 不知道体验咋样,你有没有体验过使用方便吗
|
10
siweipancc 2023-05-12 12:15:41 +08:00 via iPhone
git 可以满足的,要不远程 IDE 吧,vs 跟 idea 都有现成的方案
|
11
dreamramon 2023-05-12 12:17:51 +08:00
github codespace 就是姐姐这个问题的。。。
|
12
dearmymy 2023-05-12 12:20:44 +08:00
用 parsec 笔记本远程连家里台式,如果怕网络不好,买个国内云做中转租内网,tailscale 或者 zeortier 都行。我就这样子 ,除非你网特别烂,基本去全国旅馆网络都是够的。
|
13
wshhfy 2023-05-12 12:24:32 +08:00 via Android
公司网络不好吗?我一直 frp 连公司,体验很好
|
14
uni 2023-05-12 12:26:38 +08:00
vscode remote 好用的
|
15
DingJZ 2023-05-12 12:28:15 +08:00
用 git 不方便的点是什么,我自己目前也类似,公司所有项目没事就看看改改,家里公司电脑来回切换,没什么感觉
|
16
brader 2023-05-12 12:28:43 +08:00
我宿舍有台式,简易搭了环境,但是不全,回老家有笔记本,也是同样的状况。下班后公司找我的概率不高。
我在公司电脑装了 frp 内网穿透,在家喊我搞什么的话,我就直接远程桌面连公司电脑干活,体验还不错,够流畅,又能用上公司电脑 |
17
xqmeng 2023-05-12 12:33:14 +08:00
我是专门一台开发机器,配置好内网穿透和 code-server ,随时随地浏览器开搞。
|
18
dayeye2006199 2023-05-12 12:53:57 +08:00 via Android
vs code remote 稳如老狗。已经这么工作三年了
|
20
pretty66 OP |
21
ConfusedBiscuit 2023-05-12 13:18:17 +08:00
@pretty66 我记得 code server 的问题是许多插件用不了,vscode remote 我长期用过,我用到的插件都兼容,所以还是挺好用的。JetBrains Gateway 我没用过,有同事一直在用,据说没有 vscode remote 稳定,但是 JetBrains IDE 的功能上的优势还是很有吸引力的
|
22
chesha1 2023-05-12 13:25:21 +08:00
onedrive 的同步体验挺好的,只要你不是每次改好几个 G 还是能无感同步的
就是不知道 onedrive 家庭版的体验如何,可能国内速度堪忧,商业版同步速度是很快的 |
23
pretty66 OP |
24
DeltaC 2023-05-12 13:31:55 +08:00
code server 插件用的是 open-vsx ,而不是 ms-vscode 的插件库,前者是后者的开源版本,且有些插件没有(比如微软的 C/C++)。而且在浏览器里,有些快捷键用不了,我感觉没那么好用。
还是 vscode remote 吧。 |
25
yjxjn 2023-05-12 13:39:14 +08:00
@DingJZ 我也很好奇,两台电脑,只是刚开始配置麻烦点,没啥其他问题,git 不就解决这类问题么。。。。
除非就是在单位写完了没及时 commit 和 push 呗。。。。再就是买 WVD ,云电脑这类了。 |
27
opengps 2023-05-12 13:58:28 +08:00
远程桌面到固定的一台电脑上去操作
|
28
taotaodaddy 2023-05-12 14:06:05 +08:00 1
所有项目的开发环境部署到 Linux 服务器上,然后多设备 vscode remote.
|
29
CodeAllen 2023-05-12 14:46:35 +08:00
我是在公司放台式机,随身带 mac ,在家在外需要支持公司项目的话连公司 VPN ,然后直接 RDP 远程就行了,安卓平板也可以临时顶一下,很方便
|
30
knva 2023-05-12 14:52:33 +08:00
还是 RDP 把。
|
31
yinmin 2023-05-12 14:57:39 +08:00
@pretty66 onedrive 同步用了大半年了,稳定性好,不用梯子速度还可以的,如果有高速梯子同步超快。但毕竟 onedrive 同步延时会有冲突,我不会在 2 个设备上同时用一个项目的,至少间隔 15 分钟以上。
|
32
yinmin 2023-05-12 15:02:27 +08:00
还有 1 个方案是 RDP 套 KCP 协议,在咖啡厅、酒店这种烂 WIFI 环境下,有 KCP 加持 RDP 也是很流畅的。
|
33
lerry 2023-05-12 15:09:59 +08:00
还是用 git 吧,同步盘搞一次冲突就头大了
|
34
binge921 2023-05-12 15:13:37 +08:00
我苹果全生态 公司出差用 mac 家里黑苹果台式机 总花费也就 1 万出头 依靠 icloud 方案同步 文件 ,代码有自己的 git 仓库 所以 同步编程目前来看非常舒适
|
37
zzzmh 2023-05-12 15:16:33 +08:00
我能想到的
第一选择是继续用 git ,git 一定比其他那些省心多了 第二选择是出门不写代码,都已经这么累了,代码回家再写,不接受反驳(doge) |
38
yinmin 2023-05-12 15:34:20 +08:00
@pretty66 kcp 有 2 个现成方案:gost 和 frp ,均支持 win/mac/linux 。配置时,要设超长密码防爆破。
|
39
limaofeng 2023-05-12 15:39:02 +08:00
vscode remote + frp 内网穿透 任何位置,不同设备都可以修改同一份代码。我现在就是这么干的。不用担心移动设备资源限制,不用害怕 git 忘了提交代码。但主力服务器得一直处于开机状态
|
40
tony1890 2023-05-12 15:41:30 +08:00
code-server 容易断连。不过我用的香港服务器,断连很正常。
vscode-remote 只尝试过。 webdav 和 远程桌面……没试过。这两个比较耗带宽。要用估计也得开按流量付费,带宽拉满。 我觉得比较可行的就是 code-server 和 vscode-remote ,前提是国内服务器。 |
41
limaofeng 2023-05-12 16:06:58 +08:00
家里台式机 + frp + 腾讯云内网穿透,公司 vscode-remote ssh 连接稳得一批, 都感觉不到延迟。 加上 vscode remote 也支持插件,还有内网端口映射,启动一些服务后,可以方便的映射到当前设备的端口上。和本地区别真不大了
|
42
anson0370 2023-05-12 16:46:36 +08:00
我也很好奇 OP 觉得用 git 每次拉取很不方便的具体原因是什么?如果愿意展开说说也许大家有别的建议可以给你。
|
43
tiredtom 2023-05-12 17:01:45 +08:00
分给别人做嘛
|
44
mandex 2023-05-12 17:04:32 +08:00
建议升级一下笔记本,在家和出门都用笔记本。
|
45
limaofeng 2023-05-12 17:06:21 +08:00
@anson0370 一个人在多设备间使用 Git 可能会遇到这几个问题:
仓库太大,每次拉取都需要花费很长时间; 在不同的设备上使用 Git 时,需要安装必要的运行环境; 有时候由于赶时间,会忘记提交代码; 如果有很多设备并且未提交代码,那么下次可能会忘记哪些代码在哪个设备上 |
46
pretty66 OP |
48
jswh 2023-05-12 17:22:49 +08:00
我是 tailscale 把机器组网,然后用 vscode remote 开发。需要 GUI 的部分就 remote desktop 或者 parsec 上去看。如果 UDP 打洞成功一般很流畅,打洞不成的的就从自己建的 tailscale derper 走流量转发也还行。
|
49
leonshaw 2023-05-12 17:31:03 +08:00
要不试试 nfs, ceph 之类的
|
50
hzzhzzdogee 2023-05-12 17:42:55 +08:00
github codespace
gitpod 专门的产品做这个事 |
51
lxh89910329 2023-05-12 18:04:14 +08:00
b 站有个 up 做了个自动切换人和电脑位置的椅子,哈哈
|
52
silentsky 2023-05-12 18:27:24 +08:00 via Android
git 其实已经够用了 我写 java 的 上百个工程都放在 eclipse 都没压力 一键 pull 很难吗 也就几秒钟时间
|
53
pretty66 OP @lxh89910329 😀
|
54
wangsyi13 2023-05-12 18:34:27 +08:00
以前我场景跟你一样,又不想什么都放 git ,用的 resilio sync ,无感同步,没有遇到什么问题,同类型的 syncthing 啥的应该都能满足,像极空间的文件同步就是用的这方案
|
55
xiaoz 2023-05-12 19:09:40 +08:00 via Android
我是集中一台机器搭建开发环境,然后 vscode 远程开发,换电脑也不担心了,环境都不用重复搭建。有个 vscode 就行。
|
56
Norths 2023-05-12 19:20:18 +08:00 via Android
目前使用群晖的 Drive Client ,用了快半年暂时没出现问题。小的未完成的改动就用 Drive Client 同步,本地的更改会同步到 NAS ,到了另一台电脑又会同步下来,大的已经完成的功能就提交到 Git 。
|
57
wuyiccc 2023-05-12 19:36:19 +08:00
jetbrains gataway 不太行 bug 过多
|
58
hauzerlee 2023-05-12 20:46:38 +08:00
vscode remote 吧,经常用来浏览代码时这样的方式。我自己是用了 20 多年 vim ,也有很多插件应对各种语言。之前是在各种云平台上申请了虚拟机,一年也不贵,登陆上去可以 vim 编辑代码,可以用 tmux 或 screen 让工作区持续,再次登录时连上就可以继续。或者 vscode remote ,编译的话可以放到半夜执行,第二天上午差不多也就好了。
|
59
hauzerlee 2023-05-12 20:52:08 +08:00
我想说的主要是云主机的方式吧……刚才扯远了到 IDE 上去了。
|
61
pretty66 OP @xiaoz 目前用 vscode 还不习惯,还是喜欢用 jetbrains 系列,目前建议好多都是 vscode 相关的,尝试下能不能适应 vscode 吧😄
|
63
r00t7 2023-05-12 22:49:07 +08:00
code-server 可以试试 很方便
|
65
xiaoz 2023-05-12 23:21:37 +08:00 via Android
@pretty66 我和你相反,之前我用开源项目申请到了 jb 全家桶,非常不习惯,用了几次换回 vscode 了,远程开发真的香。
|
66
sunrisewestern 2023-05-13 02:44:54 +08:00
vscode remote
|
67
jim9606 2023-05-13 03:08:00 +08:00
onedrive 同步不会比 git pull --autostash 更好,至少后者有更好的一致性检查和冲突解决方法,前者很多操作都黑箱化了不好控制。
如果你是因为工作区是多仓库组合,你可以考虑用 repo 来管理,或者针对 checkout/pull 等操作写一下脚本。 远程桌面也是一种方法,就是看你接不接受那个流畅度了。 |
68
bytesfold 2023-05-13 06:14:01 +08:00 via iPhone
没人说 wireguard ?昨天已经把公司内网和家里内网打通了,直接访问家里内网网段所有设备。
在家 vscode remote 公司 pc ,查看公司项目 |
69
geekzhu 2023-05-13 07:21:52 +08:00
dropbox 也是一个选择
|
70
bjzhush 2023-05-13 09:57:14 +08:00
建议用 dropbox 来同步
dropbox 对海量小文件的同步是做了非常专业的优化的,包括大文件的增量变化,比如我 10G 的微信备份文件再次备份增加 200M 之后可以几秒内同步完成 我用 dropbox 管理超过 10W+文件,同步从来没出过问题 VS 的远程开发还可以,但是跨局域网速度和稳定性依然不好说 |
71
chrosing 2023-05-13 10:14:24 +08:00
好奇的问下, 如果家里网络环境不好(深圳出租房一栋楼共用一条宽带) 这种的情况下 SSH 或者 RDP 以及 code remote 回去。真的能够体验到“本地”编程的流畅感么?
|
72
ufo5260987423 2023-05-13 10:20:32 +08:00
如果 git 都会有问题,那所有的“同步”的方案都比不上它。因为 git 有问题本质上是你的提交习惯跟不上你的需求。你更代码不够及时,这样。
远程的话,到不同设备上还得配置一套远程方案,除非是专属于你的设备,否则也不方便。 这样比起来,弄一台性能可以(不是打游戏!)的笔记本是合适的。CPU 主频高,内存够大,硬盘可靠,键盘舒适——搞定 |
73
CFM880 2023-05-13 10:25:54 +08:00 via Android
repo 解君愁
|
74
libook 2023-05-13 10:41:26 +08:00
写个定时任务,自动搜索 git 项目,自动 push 和 pull 。我还真就曾经使用 git 来粗暴模拟网盘同步功能,就是自动 push 和 pull 。
对我来说,git pull 就一条命令的事情,不管是 IDEA 还是 VSCode 都可以一个快捷键完成,没感觉不方便。 |
75
mysalt 2023-05-13 10:52:08 +08:00
家里搞个 Linux 开发机器,用 frp 内网穿透(可能需要买台云服务器),开发环境用 vscode remote ,基本满足所有的开发需求。要是再在家里搞个软路由,约等于这台开发机放在全球各地了,连各种网络代理问题都给你解决了。
|
76
FrankAdler 2023-05-13 11:17:46 +08:00 via iPhone
这么多年了,jetbrains 的远程开发还是不行,vscode remote 其实挺好用的
|
77
sarices 2023-05-13 12:01:52 +08:00
直接用笔记本就好了啊,台式机淘汰
|
78
keppelfei 2023-05-13 12:15:23 +08:00
几十 G 的代码得是多大的项目呀?是有依赖么?
如果用远程 ide 体验不是很棒,我想到如果排除依赖,最好的办法还是私服 git 和 repo 。 |
79
Helsing 2023-05-13 12:19:12 +08:00 via iPhone
搞一台 server 或者 git 最靠谱
其他云同步一不小心冲突了就 gg 了 |
80
Ocean810975 2023-05-13 12:19:30 +08:00
试试这个? vscode 官方的的 codeserve ,https://code.visualstudio.com/docs/remote/vscode-server ,话说不用本地 ide 用浏览器差很多吗?
|
81
lisxour 2023-05-13 17:18:58 +08:00
你用网盘的方案,我只能说以后你只会面对无穷无尽的冲突
|
82
shiy05 2023-05-13 17:57:19 +08:00 via Android
我用 snycthing
|
84
n18255447846 2023-05-14 16:13:17 +08:00
内网穿透到台式机上,然后 vscode remote 开搞
|