1
heliushao88 2022-06-10 20:46:24 +08:00 via Android 2
我也想知道
|
2
noe132 2022-06-10 20:49:17 +08:00 28
为啥不能提交一半的?自己新建个分支不就完了?最后写完 rebase 一下就合并到一起了,merge 完再把这个分支删掉就好了
|
3
nightwitch 2022-06-10 20:49:43 +08:00 via Android 1
新建一个仓库,不和公司的重复。下班的时候新建一个分支 push 到这个仓库上
|
4
darksword21 2022-06-10 20:51:18 +08:00 via iPhone
Syncthing
|
5
renmu123 2022-06-10 20:56:38 +08:00 via Android
WIP
|
6
ilylx2008 2022-06-10 20:57:32 +08:00 1
公司电脑 24 小时开机,从家里连到公司电脑上开发。
|
7
yfugibr 2022-06-10 20:57:47 +08:00 1
还是建议用 git ,新建仓库或者分支都可以,别的软件出问题的话可能你一天就白干了
|
8
huoguo32 OP @nightwitch 请问新建仓库是在原有的文件夹下新建吗?不会和原来的仓库冲突吗,我一直理解的是一个文件夹只能有一个 git 仓库
|
9
lxzxl 2022-06-10 21:12:44 +08:00 via iPhone 1
remote 可以设置多个 不只默认的 origin
|
10
i3x 2022-06-10 21:12:58 +08:00 via Android 13
没人看重点吗?关键是下班了还继续写。。。。这么负责任的员工就没有资格额外开一个分支?或者独享一个私有的库?
看楼主的描述应该是 CTO 或者大股东。建议开个私有库。自己写自己的。写满意了再合并。 另外用 git 的公司也要注意自己的劳动成果。记得备份。。小心别人瞎搞,把你写了一天的代码搞没了 |
11
Code2Morning 2022-06-10 21:16:40 +08:00
如果有代码审核流程的话,完全可以 push 上去之后,pr 先不 merge ,回家把代码拉回来,取消这个 pr ,本地代码写完后再次提交另一个 pr
|
12
clf 2022-06-10 21:20:46 +08:00
Syncthings+Zerotier 需要一台电脑一直在线同步。
还可以通过手机作为中介,两台电脑都装 Syncthings+Android 手机安装 Syncthings ,在公司的时候,手机和公司电脑间实时同步,在家里的时候手机和电脑实时同步。 |
13
Code2Morning 2022-06-10 21:21:18 +08:00
@Code2Morning 说白了就是利用代码审核机制来搞事情,但是会有 pr 的记录,所以也不要滥用...
|
14
clrss 2022-06-10 21:45:09 +08:00
我用的 rsync
|
15
charlie21 2022-06-10 21:55:03 +08:00
U 盘偷偷拷贝走
|
16
guisheng 2022-06-10 22:43:21 +08:00 via iPhone
云盘。iCloud 或者 dropbox 。下班前执行一下自动化 把代码 copy 一份进去。家里的一样 每天上班第一件事就是把文件拉出来。至于你本地的那份过期的可以保留也可以删除
|
17
doommm 2022-06-10 23:02:33 +08:00
难道不是 fork 一个自己的仓库,提交到自己仓库的分支,写完之后往主仓库提 pr 吗
|
18
Jooooooooo 2022-06-10 23:16:10 +08:00 2
为啥不能写一半就提交? 没有自己开发分支的概念吗?
感觉白用 git 了呀. |
19
codeMore 2022-06-10 23:52:24 +08:00
难道不是在自己的功能特性分支上开发嘛?而且还有,不是建议多提交嘛?防止本地出问题丢失代码
|
20
rpish 2022-06-11 00:35:11 +08:00 2
@huoguo32 感觉 op 可能不大会用 git
3 楼的意思是创建一个(私有的)远端仓库,然后用 2 楼的办法,在自己的开发分支上,创建个子分支,打 commit 记录下,push 到远端. 回家 pull 下来继续开发,一样重复上面过程. 之后在公司的电脑上 pull 自己的远端仓库内容以后,用 3 楼的办法合并,push 到公司仓库,或者发 pr 就好了. |
21
wangkun025 2022-06-11 00:39:55 +08:00
只要是两个操作系统,就没什么好办法。两台电脑,如果同一个操作系统(同一个实例)才可以。
|
22
GeruzoniAnsasu 2022-06-11 01:39:49 +08:00
同事就把项目放 dropbox 的同步文件夹里。
不过他是搞研究的,项目不会很大而且二进制文件居多。 我一般在 git 中配置两个 remote ,往自己的机子上推半成品代码。只要能 ssh 登录就能在这台机子上创建 remote repository ,不需要中间 host 的。 |
23
darklights 2022-06-11 01:59:40 +08:00
将远程仓库是可以放到 U 盘上,如有需要固定盘符或者映射 NTFS 路径(我没试过),下班时提交到这个仓库上。如果熟悉 GIT 命令行,可以写个脚本用当前时间作为名称创建分支、提交记录,一个命令瞬间完成(我不熟)。
参考: https://stackoverflow.com/a/39471686 |
25
jsq2627 2022-06-11 02:15:50 +08:00 via iPhone 1
vscode 远程开发 remote ssh ?
|
26
lightjiao 2022-06-11 02:43:37 +08:00
|
27
Mac 2022-06-11 05:07:41 +08:00 via Android
我是扔坚果云,虽然坚果云一直提示不建议用坚果云同步代码,但我付费我乐意🙃
|
28
ryd994 2022-06-11 05:37:32 +08:00 via Android 1
为什么直接往 master commit ?每开发一个功能就应该开一个 topic branch 。topic branch 里随便你怎么搞。搞完最后提交一个 PR ,squash merge 到 master 。保证最后 PR 看起来是干净的就行。
或者你可以在自己的 branch 上随便 commit 。最后 rebase+squash 一下,留下一个大 commit 再 cherrypick 到 master 。 |
29
RiceNoodle 2022-06-11 05:59:15 +08:00
弄一个自己的特性开发分支,即使 push 到远端也没关系吧 ,你又不合入。
|
30
sutra 2022-06-11 06:31:26 +08:00 1
谁说 git 写完一半不能提交的,你搞一个特性分支,写完再 merge --squash 过去。
|
31
hello2090 2022-06-11 06:36:16 +08:00 via iPhone 1
同感楼主不会用 git,你开发的是在自己的开发 branch 上,又不是 master branch, push 上去有记录又如何,反正 merge 的时候就一条。
不想把自己的开发 branch 搞乱就在上面再开一个 branch, 回家在那上面做,做好了 merge 到开发 branch 上 最后如果实在不想通过 git 搞,我在家两台电脑局域网 syncthings 同步很好。网盘的问题是不能 exclude 某些文件夹,build ,node modules 目录同步起来很费时。但你是公司家里同步这其实也不是问题,等你到家了一般也就同步好了。 |
32
Canon1014 2022-06-11 07:29:29 +08:00
IDEA 的那个 code with me 算不算
|
33
dashupc 2022-06-11 07:46:22 +08:00 via Android
群晖 文件夹同步
|
34
ericgui 2022-06-11 07:51:10 +08:00
你有空闲,为何要不给自己写代码
写个小项目 或者做个什么别的项目 学点新东西也好啊 |
35
ericgui 2022-06-11 08:05:52 +08:00
而且你没有 VPN ,你在家咋写代码
|
36
ichubei 2022-06-11 08:16:08 +08:00 via iPhone
住在公司比较好。
|
37
JDog 2022-06-11 08:56:33 +08:00
iCloud
|
38
ClericPy 2022-06-11 09:07:26 +08:00 2
没有 WIP 分支用 git 还有啥用, 估计是 SVN 养成的习惯然后追时髦开始 git 的吧
丢坚果云里吧, 反正我之前没见过代码可以随便丢到公有云上的, 这种公司就跟着大部队走, 工作生活平衡分明白, 下班别写了, 领导看不见的工作量都是多余 |
39
seanzxx 2022-06-11 09:10:17 +08:00
难道不是应该自己建一个 feature branch 吗?在里面随便搞,最后为了美观 rebase 一下
写一半提交毫无问题,反正之后都会被 rebase 掉 |
41
xiayushengfan 2022-06-11 09:27:07 +08:00
远程链接公司电脑 ??
|
42
debuggeeker 2022-06-11 09:33:42 +08:00
自己用个小服务器部署一个 svn ,随便玩
|
43
ma836323493 2022-06-11 10:16:01 +08:00 7
楼主偷偷加班不想让老板知道, 自己的分支都不敢创建
|
44
Jiajin 2022-06-11 10:24:17 +08:00
@ma836323493 哈哈,你的评论把我看笑了
|
45
thtznet 2022-06-11 10:29:10 +08:00
分两种,功能完成的代码同步:Git ,功能没完成写了一半的代码同步:Syncthing
|
46
beisilu 2022-06-11 10:32:56 +08:00
你回家写工作代码不给领导看装逼,难道是做慈善吗
|
47
laxenade 2022-06-11 10:33:46 +08:00 via Android
repo 一大 syncthings 就很慢了,推荐 unison 。
|
48
jiangzhizhou 2022-06-11 10:43:13 +08:00
看完觉得 Git 确实还有使用差距,至少生产环境用三个月就应该比较熟悉了。都有一个熟悉的过程
|
49
g1f9 2022-06-11 10:44:53 +08:00
vscode 远程机开发
|
50
ByteCat 2022-06-11 10:48:49 +08:00
解决办法是连到公司的机子上继续开发,我目前用的是 Moonlight
|
51
caisanli 2022-06-11 11:01:28 +08:00
我用 GitHub Desktop ,可以把本地的 git 区分开,自己的代码在 GitHub Desktop 提交,公司的代码就用本地的 git 提交。
|
53
gdm 2022-06-11 11:04:24 +08:00
怎么会有人懂得用 git 却不懂用同步网盘,真是太不可思议了……
|
54
wisetc 2022-06-11 11:55:34 +08:00 via iPhone
有 VPN 吗,有 VPN 好解决,直接 vnc 连上去,或者在终端中开发或利用 vscode remote 的功能,并用 ssh 转发服务端口。没有 VPN 的话,有服务器吗,有服务器的话也很好解决,利用服务器中转一下然后结合端口转发就能进入公司的文件系统,就能修改代码并预览结果了。反正总得能获得工作区的代码才能接着这个代码
|
55
neptuno 2022-06-11 12:04:28 +08:00 via iPhone
自己开个分支不就好啦
|
56
MakHoCheung 2022-06-11 12:14:57 +08:00
首先针对你的需求,用 iCloud 这类网盘,非常方便,嘿嘿嘿
然后你不用 git 是怕分支被领导看到?一般情况开新分支并且 push 到仓库仓库 maintainer 是不知道的,所以最优方法是新开分支 |
57
ColdBird 2022-06-11 12:19:39 +08:00
新建一个 wip 分支不就得了
|
58
FaiChou 2022-06-11 13:07:51 +08:00 1
$ git diff > wip.patch # 保存下来 发给家里电脑
$ git apply wip.patch # 在家里项目上用 patch 来更新变动 |
59
anshigm 2022-06-11 13:16:31 +08:00
用 onedrive 或者 dropbox 云盘就可以了啊
|
61
thinkershare 2022-06-11 13:46:39 +08:00
@anshigm OneDrive 同步代码是不靠谱的, 特别是有 npm 这种辣鸡, 会出现各种诡异的现象, 而且官方也不建议同步代码, 坚果云也是一样, 我为这个事情还专门发邮件咨询过
|
62
TerranceL 2022-06-11 13:48:10 +08:00
远程桌面。。
|
63
cloverzrg2 2022-06-11 13:48:26 +08:00
你们领导这么闲,还会盯你的提交。我这只扫一下 PR
|
64
GalaxyVIP 2022-06-11 13:53:42 +08:00
这种开发中的代码,自己开个分支就好了呀,写完了再 pick 到主分支去再提交呗。自己开发的话,我都是无限 amend 然后 push -f 强制提交的,回家直接拉下来就好了,开发完了再强制 push 。
|
65
GalaxyVIP 2022-06-11 13:55:30 +08:00
以前在某手机厂搬砖,代码都是提到 Gerrit ,有改动无限追加 patch 就完事了,等到没问题了,再贴出来 review 。不能理解为啥不能让领导看见。
|
66
iam286 2022-06-11 14:13:39 +08:00
弄个云服务器当开发机,电脑只作为客户端,用编辑器的云开发就可以了。
|
67
andrew2558 2022-06-11 14:29:27 +08:00
自己的分支写到哪都可以提交呀,有什么问题吗?
|
68
pennai 2022-06-11 14:39:09 +08:00
百度网盘的同步空间是现成的双向同步,你也可以自己搭 unison 或者 rsync 服务
|
69
liunaijie 2022-06-11 15:20:26 +08:00
git remove 添加上自己 fork 出来的仓库不就行了
|
70
littlewing 2022-06-11 15:33:31 +08:00
为啥不能写一半提交,我每天下班前都要把代码 push 上去的,不管编不编得过,最后写完了 merge 的时候再 rebase 一次,哪个领导闲得蛋疼看你提交的代码
|
71
mingdongshensen 2022-06-11 15:48:59 +08:00
我们都是先在自己个人分支开发,写满意了再向正式的分支发送 merge request ,领导只把控正式分支的代码,不关注每个人各自的个人开发分支是啥样子。
再说了,个人分支的某些临时的 commit 也是可以 squash 成为一个 commit 的,git 我理解很灵活 |
72
sabercoding 2022-06-11 16:39:26 +08:00
用的是 jetbrain 的自动同步到开发机,到家再下载下来,继续自动同步,回公司也一样操作。开发环境有单独的开发机就可以这样操作。
|
73
fo2w 2022-06-11 17:03:20 +08:00
想每晚不留痕迹偷偷卷
第二天惊艳所有人? |
74
documentzhangx66 2022-06-11 17:08:12 +08:00
你不应该把代码同步到家里,而是要从家里远程到公司电脑上继续开发。这样才能保持环境的统一。
|
75
stevefan1999 2022-06-11 18:42:23 +08:00
|
76
ikn0wzxc 2022-06-11 19:13:51 +08:00
坚果云
|
77
pengtdyd 2022-06-11 19:19:22 +08:00
《下了班回家了还想用家里的电脑继续写代码》都这样了,还有必要下班吗,公司就是家,直接住在公司不就完了
|
78
wuyajiao1 2022-06-11 19:25:33 +08:00
坚果云
|
79
EvineDeng 2022-06-11 19:48:59 +08:00
公司里搭个 code-server 服务,在公司在家全部直接在浏览器中使用。
|
80
w3sun 2022-06-11 19:59:36 +08:00
一个同步服务就行
|
81
EvineDeng 2022-06-11 20:00:03 +08:00
|
82
hanssx 2022-06-11 22:22:59 +08:00
insync + onedrive/google drive ,设置规则忽略.git 等文件夹,只在一处提交即可。
|
83
cedoo22 2022-06-11 22:26:31 +08:00
NAS
|
84
aaa5838769 2022-06-11 22:31:19 +08:00
微力同步,国外也有一个类似这种产品。
|
85
JounQin 2022-06-11 22:36:51 +08:00 via iPhone
跑了吧,楼主就是不会用 git 而已。
|
86
psyer 2022-06-11 22:36:53 +08:00
那用啥呢?
@thinkershare #61 |
88
thinkershare 2022-06-11 23:00:01 +08:00
psyer 解决方案非常多, 要根据实际情况来. 反正使用网盘同步是一个馊主意. 核心问题在于文件的数量, 有些项目, 动辄几万个文件, 一旦某一次大范围的修改项目, 就会导致云盘同步非常缓慢, 一旦同步缓慢, 就会导致多端代码不一致, 然后还会出现文件相互覆盖, 最终代码文件丢失. 即便有历史记录的云盘, 想要正确的恢复代码也非常困难, 我在坚果云和 OneDrive,GoogleDrive 使用上都遇到过这个问题, 最终官方给我的回复是他们没有为此种场景优化, 不建议使用他们的网盘同步代码. 核心原因还是这些网盘没有提供.gitignore 这种按需求忽略同步的层级覆盖配置. 坚果云的开发人员说他们正在研究, 最终应该会增加此功能. 不过我放弃了坚果云了. 自己配置了私有云服务器, 自己每天同步到自己的服务器. 而且公司的电脑我也可以直接 SSH 上去. 所以同步代码这个执念我就放弃了.
|
89
thinkershare 2022-06-11 23:00:19 +08:00
|
90
thinkershare 2022-06-11 23:00:29 +08:00
@psyer 解决方案非常多, 要根据实际情况来. 反正使用网盘同步是一个馊主意. 核心问题在于文件的数量, 有些项目, 动辄几万个文件, 一旦某一次大范围的修改项目, 就会导致云盘同步非常缓慢, 一旦同步缓慢, 就会导致多端代码不一致, 然后还会出现文件相互覆盖, 最终代码文件丢失. 即便有历史记录的云盘, 想要正确的恢复代码也非常困难, 我在坚果云和 OneDrive,GoogleDrive 使用上都遇到过这个问题, 最终官方给我的回复是他们没有为此种场景优化, 不建议使用他们的网盘同步代码. 核心原因还是这些网盘没有提供.gitignore 这种按需求忽略同步的层级覆盖配置. 坚果云的开发人员说他们正在研究, 最终应该会增加此功能. 不过我放弃了坚果云了. 自己配置了私有云服务器, 自己每天同步到自己的服务器. 而且公司的电脑我也可以直接 SSH 上去. 所以同步代码这个执念我就放弃了.
|
91
wellwellwell 2022-06-11 23:17:13 +08:00 1
可以创建一个 patch ,自己未提交的部分创建一个 patch ,放在云盘或者微信,任何可以同步到家里的工具。回家后在这个 patch 上面继续开发,修改后创建新的 patch 带回公司
|
92
WhateverYouLike 2022-06-11 23:33:14 +08:00 via Android
这个我有经验。创建一个 git patch 文件,把文件拿回家以后 apply patch 就好了。
Jetbrains IDE 界面上就能生成 patch ,也能 apply patch ,挺方便的。 |
93
Kaiyuan 2022-06-11 23:38:22 +08:00
我是存 NAS ,然后直接受体用 WebDAV ,台式用 SMB 。
|
94
psyer 2022-06-12 00:34:35 +08:00 via Android
@thinkershare 感谢!
|
95
jeeyong 2022-06-12 02:52:35 +08:00
整个 U 盘 不行吗?
我开始自建得 svn 后来索性就直接存 nas 往外拉 我是在家台式机和笔记本切换. 我有时候还 1,2 个项目换着写, 当放松换脑子呢. |
96
serafin 2022-06-12 06:06:54 +08:00
Onedrive 同步。
个人是用 VS code 的 remote explore 插件连接远程 SSH 服务器,未完成代码保存在服务器端。 |
97
ToBeHacker 2022-06-12 08:05:51 +08:00
fork 一下呗
|
98
piecezzz 2022-06-12 08:13:58 +08:00
好奇怪的问题,学下 git 吧
|
99
xzysaber 2022-06-12 09:23:39 +08:00
写到一半可以提交到自己建的克隆仓库吧?当然这是可选方法之一。
|
100
jack778 2022-06-12 09:34:03 +08:00
用 seafile 或者坚果云这类文件同步工具不知道能不能满足需求
|