如题,非常不解。难道大厂没有版本管理么?咨询了一下,说是一个人七八个项目,根本没有时间管理。 压力这么大的么?
101
urlk 13 小时 45 分钟前
不会的自己去学 https://learngitbranching.js.org/?locale=zh_CN
cherry pick 是很基础的命令, rebase 也是基于 cherry pick 的 |
102
nealHuang 13 小时 45 分钟前
cherry pick 爽爆了,不过就是不好对比是否合并过
|
104
jzhm 13 小时 43 分钟前
@Lemonadeccc #65 我用 rebase 多,但是我同事们用 merge 多
|
105
ciki 13 小时 40 分钟前
cherry pick 是真不知道,大多数时候根本用不上
|
106
chimission 13 小时 40 分钟前
说明他没什么技术追求, 单纯够用就行。。。。
|
108
shm7 13 小时 30 分钟前
1 不用特别秀优越。
2 很多大厂用 gitlab 有刻板的分支流程,cherry pick 用的很少,都是从 main/master/dev 拉代码到 feature 分支,再合并回去,方便分支管理,和很多人共同开发时的秩序。 3 细碎工作很多+时间很忙的地方,才喜欢这里随便一个 hash 拉个分支出来,要是有 10 个人以上,分支 5 个以上,这种沟通维护成本显而易见的提升。 |
109
KinBob 13 小时 28 分钟前 看这个帖子浪费了宝贵的 5 分钟
|
110
shm7 13 小时 26 分钟前
不信的可以在这里搜下 https://git-scm.com/book/zh/v2 你们自认为很牛的 cherrypick 技术,被放在哪些旮旯里
|
112
Cu635 13 小时 18 分钟前
看个人表现吧,是说非常不屑的那种“不知道”,还是一脸懵的那种“不知道”,还是说有点意外、有点小“震惊”(或者类似情绪)的不知道。
大厂因为老员工比例高一点,作为组长也好作为上司也好,如果是它们拒绝新事物,不使用版本管理工具,或者只是作为摆设,或者其它类似情况的话,加上底下员工工作压力这么大,员工确实有可能被挤压的没精力去了解一些基础知识。 @aiwoshishen #4 不一定,大厂本部也不一定好哪里去 |
113
holy_sin 13 小时 17 分钟前
大厂重视的是道 你这都是术 哈哈
|
114
bluehtt 13 小时 15 分钟前
@mxT52CRuqR6o5 #22 帖子说的是 git add ,你说的是 git commit 。不过使用 idea 的时候,默认情况下,流程里已经很少看到 add 这步了,我修改文件后,按 esc 退出默认就是 add 。我喜欢使用 git 命令行,操作最多的也是 cherry pick 、rebase 、git flow 这种,很少会需要手动 git add 。
楼主用的可能是一些编辑器,vscode 、trae 之类的,修改之后还需要使用者手动 add 一下。个人使用的时候没有这个 git add 的需求。 |
115
zhengfan2016 13 小时 10 分钟前
@liuliuliuliu 可能是真的,我上家公司的大厂老程序员,基本都是 30-40 ,它们用 git 基本不 review 哪些和本次提交无关的,直接全部提交的,可能这就是高级程序员的从容吧
![]() |
116
lynan 13 小时 9 分钟前
我喜欢用 GitHub Desktop ,简单流畅
|
117
elron 13 小时 8 分钟前
@shm7 #111 你的意思是如果我在 develop 分支修了一个涉及较多文件的 bug ,线上版本还需要手动逐个复制修改?捞不捞啊,cherry-pick 神技被你贬低的一文不值,你要去银行开发,一个仓库几百个分支让你一个一个手动复制去吧
|
118
Desdemor 13 小时 4 分钟前
cherry pick 好用爱用,但是不能说明一个人的水平高低,顶多是横向涉猎不多
|
119
LXchienne 13 小时 4 分钟前
这非常符合程序员刻板印象,关注工具和技术,离业务太远,挣钱才是王道
|
120
whoosy 13 小时 4 分钟前
@shm7 #110 一个仓库只有主线分支无所谓,想怎么弄怎么弄,就怕那种几十个分支对应几十个客户的项目,修一个共性问题,不可能每个分支都手动复制粘贴,cherry-pick 就是干这个事的
|
121
paceewang1 13 小时 2 分钟前
|
122
unco020511 12 小时 54 分钟前
不可能工作这么多年不知道 cherry-pick 的吧,我感觉只要是项目复杂一点,就经常会用到 cherry-pick.其实 gui 和 cli 差别没那么大的,我更习惯用 gui.但是说在大厂不知道 add 和 cherry-pick,那就确实是够离谱的
|
123
joinmouse 12 小时 53 分钟前
可能不用命令行操作,能快速熟悉就好了
|
124
dongdongdong 12 小时 44 分钟前
经常用 cherry-pick ,有些东西不发版,有些东西发版,可以挑出来,非常好用
|
125
liuliuliuliu PRO @zhengfan2016 从~从~容~容~游~刃~有~余~后面忘了...
|
126
xz410236056 12 小时 35 分钟前
@iloveyou 哪个 GUI 客户端没遴选这玩意。
|
127
windmilll 12 小时 30 分钟前
40 岁不知道这些倒显得合理了,如果是 20 多岁的年轻程序员我觉得不正常
|
128
mxT52CRuqR6o5 12 小时 30 分钟前
@bluehtt #114 add 不就是为了选择性地 commit 文件吗?
|
129
jaxjaxjax 12 小时 30 分钟前
cherry-pick 这个我印象很深,翻译成中文就是“摘樱桃”,每个 commit 都是一个樱桃,git cherry-pick commit-id 就是摘取对应 commit-id 的樱桃哈哈
|
131
SWALLOWW 12 小时 25 分钟前
不是,到底有没有人介绍下 cherry-pick 是干啥的
|
132
fredweili 12 小时 23 分钟前
所以你觉得自己也应该在大厂,对吧?怎么这么屈才呢?
|
133
wenrouxiaozhu 12 小时 18 分钟前
@colourfulsai rebase 干啥(狗头🐶)...“每次 IDE 点点直接 git merge origin/dev”....
我喜欢用: git rebase origin/dev --autostash git pull origin --autostash --rebase |
134
wenrouxiaozhu 12 小时 14 分钟前
|
135
meetthebest 12 小时 13 分钟前
8 年前端,开发至今,一直保持命令行操作 git ,感觉这些基础操作不能依赖 GUI,容易忘
|
137
wenrouxiaozhu 12 小时 11 分钟前
@NoKey 有人喜欢用自己名字做分支名,一直用同一个分支开发... timeline 里塞了一堆 Merge origin/dev 的记录...
|
138
HaibaraDP 12 小时 9 分钟前
cherry pick 第一次了解还是在参与开源项目时才知道,提 PR 后让用 cherry pick 把其他长期维护分支也都提一遍,然后惊为天人
|
139
JoeDH 12 小时 8 分钟前
别人还能呆到四十岁再从大厂出来然后找到下家,这种含金量我觉得你没必要酸别人懂不懂几个 git 命令
|
140
Vaspike 12 小时 7 分钟前
没有 cherry-pick 我活不下去
|
141
Vaspike 12 小时 5 分钟前
@SWALLOWW 我在 dev 分支中有 commitA 和 CommitB, main 分支没有这两次提交, 现在线上需要立即有 commitA 的修改而不要 commitB 的修改, 那么:
1. 切换分支到 main 2. cherry-pick dev 分支的 commitA 3. 上线 main 分支 |
142
chill777 11 小时 48 分钟前
水货很多,我司 10 年老前端不知道 typescript 和 linux
|
143
xz410236056 11 小时 22 分钟前
@MENGKE #107 你小瞧 GUI 了,你知不知道 GUI 也可以实现自定义操作,能用 GUI 不用只用 CLI 的都是保守派。
|
144
realJamespond 11 小时 14 分钟前
分支改动太大,不能 rebase ,最后只能 cherry pick 一个一个 apply commit
|
145
eephee 10 小时 28 分钟前 via iPhone
这个帖子的评论里,我没有看到有人在刻意秀优越感,只看到有人一个劲地让别人不要秀优越感,笑死
|
146
imxiaoi 10 小时 17 分钟前
一般都是多版本管理才用这个吧
|
147
sth2018 9 小时 55 分钟前
cherry pick 超级好用
|
148
wxm 9 小时 54 分钟前 工作 10 年了,前 2 年用 svn 然后换了 git 一直用到现在,工作这么久没用过 cherry pick 我真的很抱歉。。
我们分支 feature dev test release hotfix tag master 这些分支都非常明确,也有严格的工作流不太会出现一次提交合并到多分个支上 我一直在用 sourcetree 我也觉得很好用啊,用命令我倒觉得有点麻烦。sourcetree 也是领导推荐用的,不过总是能看到用命令比 gui 高人一等的说法,能解决问题自己用着舒服不就好了吗。。 |
149
lixile 9 小时 51 分钟前
不仅仅是多版本 仓库体量大 共同开发人员多 cherry-pick 的场景就应该确实存在
单仓单版本 维护人员少 估计就很少会用 cherry-pick 全部被 merge rebase 取代了 还有就是不要期待从 svn 简陋的转移过来大厂 git linux 基础技能 任重道远 我只能说这些人有他的生态位 但是跟你密切合作时 我就希望他别在这里工作 天天讲基础知识 心态会容易崩溃 |
150
uni 9 小时 42 分钟前
我更好奇一个人七八个项目是怎么搞,一年七八个还是同时开发七八个?
|
151
bluehtt 9 小时 25 分钟前
@wenrouxiaozhu #134 是啊,所以我怀疑他是用 vscode 之类的编辑器
|
153
MENGKE 9 小时 17 分钟前
@xz410236056 #143 冲突吗,并不吧?习惯用 GUI 就可以不知道基本的命令了吗
|
154
blirun 9 小时 16 分钟前
客户端不会命令还比较正常吧,服务端应该不正常
|
155
shm7 9 小时 12 分钟前
@elron #117
148 和 108 楼已经写明了常见的分支工作流是怎么回事。gitlab 官方也是建议这么来的。不会用可以学。 cherry-pick 在某些开发环境异常繁杂的团队也许是有用的,比如你说的几十几百个分支情况。 在我看来,这就像很早先的 goto 语法,很快用到,但乱七八糟。 如果让你选,你想把项目搞成几十个 alive 分支乱起八糟的开发嘛。说白了,shit moutain + 业务开发压力特别大的团队,特别喜欢用。因为正常流程已经不起作用了。 |
156
shm7 9 小时 7 分钟前
@wnpllrzodiac #57 > 分支修改了 50 个文件,只想提交其中的 20 个文件的改动,有命令么?
git add 把你的文件一个个加上,这些文件就会进入 stage 暂存模式,git commit 时候只会提交 stage 过的文件。 或者你直接用 gui 工具一个个点,更方便 |
157
wenrouxiaozhu 9 小时 7 分钟前
@bluehtt #151 不知道 add 有点抽象==...会不会好多人不知道工作区、暂存区
|
158
shm7 8 小时 56 分钟前
@Vaspike #141 你也可以从 commitA checkout 出一个新分支,该分支可以 dev 平行的开发分支合并到 master ,还可以做点其他修改。PS 你还要把 master 也先合并到你这个分支,还要测试确认所有功能开发无误。
总之,用分支都是可以的。而且是 gitlab 官方更推荐的做法。草草把一个 hash 推到 master ,甚至连测试都没有。不符合推荐的上线流程。 |
159
shm7 8 小时 50 分钟前
看了半天,都是些经验匮乏还喜欢论道,甚至在一些恶劣环境学了些歪门邪道,就以为是屠龙技 说别人不会以此炫耀 的东西。
怪不得程序员 35 岁会这么惨,拿着锤子个个是钉子,一个个天天问别人开展什么副业好抄袭取代之... |
160
elron 8 小时 40 分钟前 @shm7 cherry-pick 从来不是复杂团队或者代码屎山才用,它本身就是 git 非常非常非常的常规能力。
如果一个人从来不用 cherry-pick ,我基本能判断他参与的项目规模和协作强度有限,你不要反驳,事实就是如此。 像你说的 gitlab 的推荐工作流,cherry-pick 和它并不冲突,反而是配套动作,挑选某个已验证的提交回拣到 release/hotfix ,本什就是标准发版维护的一部分,并不是项目烂到不行才会用。 总之就一句话,同一份改动、多条线受控落地,这就是 cherry-pick 的设计逻辑 |
162
fenddddddda 8 小时 21 分钟前
你这个跟嘲笑 CEO 不会用 Excel 类似
|
163
zuixinwenyue 8 小时 20 分钟前
平时都是用 idea 新建文件直接就已经 add 了,如果用命令的话,我都是直接 add ./ 。真没有使用命令去 add 单独的文件,我觉得这个无所谓吧 只要协作没有问题就可以了
|
165
gcgj72 8 小时 15 分钟前
八股文进去的 实际啥水平谁知道呢
|
166
xppgg 8 小时 3 分钟前
@nekoneko git reset --soft HEAD~1 在本地执行也算是回到了上一状态 在我理解也算是一种回滚操作,checkout restore 也可以, revert 确实更安全
|
167
ckdxc 7 小时 59 分钟前
@iloveyou 感觉很多人, 都不会去研究这些按钮是干嘛的, 只用最基础的, cherry pick, 感觉只有那种一个仓库很多版本的项目才用的很, 如果是单一服务类型的, 就一套代码, 确实用不上, 大厂一般确实就一套代码, 因为自己就是甲方, 服务 C 端, 或者自己内部用
|
168
ltmst 7 小时 58 分钟前
|
169
bluehtt 7 小时 57 分钟前
@wenrouxiaozhu #157 idea 这种隐藏 stage 的策略也挺好的。提交、拉取能正常用就可以了,其他并不是必备技能。按照干活的角度来说,够用。
|
171
admin948 7 小时 53 分钟前
|
172
bigShrimp8577 7 小时 46 分钟前
@hangbale #63 前端又不是只有 app,不会抓包才是绝大部分
|
173
ckdxc 7 小时 43 分钟前
@manwhatcanisay 感觉完全 代码仓类型有关系, 如果是小仓库, 维护的人少, cherry pick 用的少, stash 就用得上, 如果是大仓库, 要同时维护 N 个分支, cherry pick 就用的多, stash 就有点吃力了, 我遇到大仓库, 开发压力大的时候, 就 多 clone 几个下来, 因为很多时候, 可能同时开发多个特性, 然后还有不同版本的问题需要定位, 切分支就麻烦很多了, 还有 git rebase 基本不用
|
174
ckdxc 7 小时 34 分钟前
@Lemonadeccc #65 合主分支得用 merge, 自己分支随便 rebase, 每次看自己提交乱乱的, 就习惯压缩一下, commit msg 也会重新编辑, 这些操作都用 IDEA 自带的工具呀, 谁还手动敲呀, 手动敲的最多的也就 clone checkout 啥之类的
|
175
ckdxc 7 小时 33 分钟前
@ckdxc #173 rebase 也用, 原来 GUI 里面的 压缩 交互式变基就是 rebase, 那一直都在用
, 合主分支 merge, 自己分支 rebase |
176
Terry05 7 小时 31 分钟前
只会 ui 操作,平时不敲命令行是属于什么重大失误吗,会影响工作吗
|
177
edisonwong 7 小时 16 分钟前
大厂的人也不全是厉害的。这都算小事了,往 git 里塞大文件,一个仓库膨胀成几十 G ,基本没法维护
再举个典型例子:“很多人找我,我发过去一篇文档,文档里写的都算小白了,又过来找我,然后我把文档直接截图给他,然后他就懂了” 很多人思想都僵化了,等着别人喂饭。我一般都不惯着,当然老板另说... |
178
edisonwong 7 小时 11 分钟前
所以我面试都会问
1. git 常用用法 2. git 如何各种情况下回滚 3. push 密码或大文件到远端后,后续还衍生出不同的 commit ,怎么解决 如果都能回答出来,很强,扎实,并且协同啥的应该也没啥问题。还是有一些不错候选人能答出来的 |
179
lingxi27 7 小时 4 分钟前
管他什么厂出来的,有得选的话我不会跟这种人做同事
|
180
wenrouxiaozhu 7 小时 1 分钟前
@ckdxc #173 “可能同时开发多个特性“ 这个用 worktree 好一点
|