团队内有人如是说:工具不一致会导致代码冲突...
团队内有人如是说:工具不一致会导致代码冲突...
|
1
躺着看,要么忍,要么滚,先不讨论是否会导致代码冲突,大部分公司要的不是你的特立独行,而是,一头领头母猪跳下河里后,虽然你知道跳下去的后果,你也得跟着跳.
|
|
2
git bash 一知半解的人容易瞎提交
|
|
3
难道你提交的时候还会附带工具信息? 如果没有, 随便用
|
|
4
同意楼上,瞎提交。
我就是强制要求团队用 SourceTree,除非能力牛逼到熟练各种分支 rebase cheout tag 解决冲突等命令,那不管。 举个例子:很多新手刚开始接触 git 就知道 git add -A,结果莫名其妙报错了,才知道把没改完的文件也提交了 |
|
5
我很好奇他怎么知道你用什么提交的?
|
|
6
+1 好奇:如何知道用什么工具提交
|
|
7
|
|
8
用 source tree 也没啥不好的,始终实时可见的 git status,轻松愉快的分 hunk 提交,轻松愉快的具名 stash,更加漂亮的 commit graph,及其漂亮好用的 diff。
对小白可以大幅减少错误操作的可能性,对熟手也可以大幅降低心智负担。除了 windows 版 ui 做的太烂几乎没缺点。 以及同上,如果你是一个 git 熟手,用 bash 反正其他人也看不出来, |
|
wlsnxOct 25, 2018
9
我很好奇“工具不一致会导致代码冲突”这个结论是怎么来的。
|
|
rockyou12Oct 25, 2018 via Android
10
就是怕团队有人不熟乱提交呗,我真的很理解。
我司有个仓库 master 上所有文件的换行符都从 win 的搞成 unix 的,但我司主要都是用 win 的。每次合并到 master 那叫一个痛苦... |
|
11
经常搞不清楚换行符,以及 UTF8 bom 的人,统一工具和配置会很轻松
|
|
geelawOct 25, 2018
12
SourceTree 我目前发现有两个有毒的地方:
1. 会反复弹窗口问你的 credential 来 fetch,我至今没弄明白它的 credential 存在哪里;当然有些 repo 我必须换一个账户才能用,所以这个也很烦 2. 安装之后会“好心帮你”把 core.autocrlf 修改成 true,我在 Windows 上都是手工控制换行风格的 其他都挺好的。我经常切换工具,如果有分行提交的话就会用 SourceTree,如果要 interactive rebase 就会用 VS Code 编辑 git-rebase-todo,其他的随心情。 @rockyou12 #10 应该检查是不是 SourceTree 帮你干的“好事”。 |
|
int64agoOct 25, 2018 via Android
13
我看了三遍标题,确定你不是把顺序说反了
|
|
CbdyOct 25, 2018
14
半吊子观点,SourceTree 也只是把你的点点点操作翻译成 git 命令去执行的
那你们团队有没有统一键盘,统一输入法?不然也有可能“工具不一致会导致代码冲突”😄 |
|
but0nOct 25, 2018 via iPhone
15
我有个项目 TortoiseGit 和 git bash 的 git status 不一致 不知道什么原因
|
|
xuboyingOct 25, 2018
16
忍着,等到哪天他们 merge 出问题了你再亮出 git bash,写脚本检查 repo,吊打 sourcetree
啊,你不会吊打 sourcetree,那还是乖乖听头头的吧 |
|
yuanfnadiOct 25, 2018 via iPhone
17
gaa
gmm 感觉这样比点鼠标不知道快了多少。 |
|
18
+1 我很好奇他怎么知道你用什么提交的?
|
|
lihongjie0209Oct 25, 2018
20
@Lullaby 难道他二十四小时看着你提交? 工具随便用就是了
|
|
sutraOct 25, 2018
24
结果一致(比如换行符号到底是 \n 还是 \r\n、git log author 等容易忽略的地方)就行,管我用什么工具呢,我觉得命令行效率高,就命令行呀,你觉得点鼠标快你就点鼠标嘛。
|
|
JeriOct 25, 2018
26
我站 source tree:有更直观、更方便的图形可视化工具,我选择优先用工具。
|
|
tulongOct 25, 2018
27
sourcetree 很好。git 除非玩的超级溜,不然纯属浪费时间。
|
|
newtype0092Oct 25, 2018
28
sourcetree 来来回回用了几次最后都放弃了,总是搞不清我点了某个按钮它给我执行什么命令或者加了什么乱七八糟的参数。。。
|
|
29
就我一个用命令的吗...表示用工具很害怕一个按钮下来给你执行的什么命令...
|
|
nekoyakiOct 25, 2018
30
@Exceptions
我也是,而且我还怕的不是自己,是团队里其他人…… 可能是我司招人的时候对 git 有倾向,从我司的结果看提交提出过问题的,尤其是提出了问题自己发现不了或者不知道怎么解决的,都是用图形工具的; 用命令出问题的少,而且出了问题这些人也知道怎么解决。 说工具可以防止小白乱提交,我不知道是不是没见过真正的小白……有些人真的是不看提示就瞎点,点不进去换按钮硬点。 |
|
zhuziyiOct 25, 2018
31
用什么都行,但出了问题能即时解决,如果解决不了即时背锅。
|
|
deepdarkOct 25, 2018 via Android
32
@Exceptions 坚持用命令+1,感觉一直用 GUI 会生疏
|
|
eloahOct 25, 2018
33
没有 linux 版本啊,最大的问题是......
|
|
BornThisWayOct 25, 2018
34
反正我是不够熟
用 GUI 好歹还能 cherrypick 之类的 敲命令真的不敢乱动 |
|
junjieyuanxilingOct 25, 2018 via Android
35
@rockyou12 我记得 vim 可以用 ff 改换行方式,其他编辑器 /IDE 应该有类似功能的插件吧。
|
|
catinredOct 25, 2018
36
#29 +1 SourceTree 的某些按钮有毒
|
|
sagaxuOct 25, 2018 via Android
37
禁用 forcepush,订好内部规范,然后谁出错罚谁,管它用哪个工具
|
|
38
忍不住说一句,菜鸡屁事多,尤其是当了小作坊技术领导的菜鸡,歪理比民科还多
|
|
39
git 学习 /使用不都是用命令行吗?难道不会命令行还敢说你会用 git ?
|
|
lancelockOct 25, 2018
40
sourcetree 我真的用不会,那密密麻麻的按钮、设置看到就发憷
|
|
41
从刚开始学 git 就是命令行开始的
后来第一次操作 sourcetree 时看到那一堆按钮被唬住了,吓的我感觉点击 “命令行模式” |
|
janxinOct 25, 2018
42
跟工具有什么关系?
|
|
GeruzoniAnsasuOct 25, 2018
43
sourcetree 我就只用两个功能。。一个是看本地的分支树,这个在命令行下没法看,另一个是分块提交,gui diff 还是比命令行看方便太多了,不过要编辑的话会用 jb 系自带,sourcetree 只用来检查回滚被误格式化没必要提交的行
pick 我也用命令行,先 sourcetree 看一眼图要 pick 哪些东西,然后复制 hash pick,冲突用 vscode 解决 |
|
meepo3927Oct 25, 2018
44
如何看待?
嗯……像看菜鸡一样看待 |
|
anonymous256Oct 25, 2018
45
有人用 GitKraken 吗? 用这个很舒服.
|
|
quickmaOct 25, 2018
46
🙈
|
|
LplOct 25, 2018
47
用 Git 命令多爽,只要你不开保护分支,git add/commit/push -f 一把梭让你爽翻天
|
|
rockyou12Oct 25, 2018
48
@junjieyuanxiling 所有编辑器或者 ide 都有这个功能,但人家都 push 上去了你再改一次,commit 里面的文件简直不能看……
|
|
chenuuOct 25, 2018
50
命令+gitk
|
|
bigjackOct 25, 2018
51
早走早幸福
|
|
fulvazOct 25, 2018
52
还行啊...工程的本质就是降低门槛啊, 没啥毛病
|
|
WickedOct 25, 2018 via iPhone
53
@ifconfig 花点时间写个教程开个讲座,把新手培养起来吧,source tree 就不会瞎提交了么… 一天就能学会,一个月就能熟练的工具,真视为洪水猛兽的话,干脆用 svn 好了
|
|
hanxiV2EXOct 25, 2018 via Android
54
把开发的主分支设为保护就行了,其他乱搞是因为没学会,gui 也会有乱搞得人,教几次就行了,学不会就辞退吧。
|
|
littlebaoziOct 25, 2018
56
你可以打开 sourcetree,然后点击命令行模式。小孩才做选择,大人全都要会。
|
|
57
羡慕 macOS 和 Windows 上有 SourceTree。
Linux 上没有 SourceTree,只能 git 命令才能维持生活这样子。 |
|
guogOct 25, 2018 via Android
58
@GeruzoniAnsasu 你需要 tig 😀
|
|
mritdOct 25, 2018 via iPhone
59
不好意思,自己写工具走 git flow
|
|
dingyaguang117Oct 25, 2018
61
一般情况下用 sourcetree 出了各种疑难杂症用 git bash
|
|
62
@SsuchingYu #57 linux 上有 sublime merge 等一堆 git 工具
|
|
bumzOct 25, 2018
63
|
|
kiwi95Oct 25, 2018 via Android
64
从有 git 开始就一直用 git bash
|
|
bumzOct 25, 2018
65
bitbucket 有 branch permissions,github 有 proteted branch,都可以禁止 force push
不 -f 问题其实不大 |
|
SsuchingYuOct 25, 2018
66
@bumz #62 看起来很好啊,如果能开源就更好了。
|
|
DaraWOct 25, 2018 via iPhone
67
把 master 锁了,不接受 push master,禁止在多人协作的分支上 force push。
小白操作错了就操作错了,失误个几次很正常,吃过亏就长记性了,别影响到别人就行。 另外不会就学,遇到自己不学还不让别人用的,赶紧跑路吧。 |
|
nooperOct 26, 2018 via iPad
68
我感觉奇葩太多,愿意用啥用啥呗,管那么多事情。
|
|
msg7086Oct 26, 2018
69
我们的开发风格是,允许 Force push,包括 master 和 release 分支。
鼓励频繁 Rebase,鼓励使用 GUI。 用 Git bash 主要是误操作可能性太高。图形界面发明出来是有道理的,比如 Git 的图形界面里,可以更直观地了解 Repo 当前的状况(比如 HEAD、本地分支、远程分支各自指向的提交节点),甚至就算是误删除了某个 commit,看 ref log 的时候都要远比命令行来得直观。 PS: SourceTree 我是真用不惯…… |
|
20015jjwOct 26, 2018 via Android
70
乱提交 code review 不给过就行了啊 这不很简单
|
|
71
一伙人造房子,工头对大伙说,请大家都用 sourcetree 牌手枪钻拧螺丝,一个小伙子跳出来说,我用手就能拧…
其实没必要讨论工具的好坏,在工程思维中,服从也是一条优秀的品质,当然质疑也不可或缺。但是就楼主的问题,我觉得并不需要质疑,统一工具可以减少因为工具不一致带来的不确定因素,这在团队合作时是非常重要的,团队需要尽可能消除个体差异,这也是为什么团队要统一代码风格。 楼主如果从一个团队管理者角度出发,应该就能明白了。 |
|
ech0xOct 26, 2018 via iPhone
72
我用 tig
|
|
chenchangjvOct 26, 2018 via iPhone
73
我昨天用 source tree commit push 一通操作,代码丢了
|
|
mengzhuoOct 26, 2018 via Android
74
所以可以用 tig 啊~
|
|
dangyuluoOct 26, 2018
75
@20015jjw 一般有这种需求(统一 git GUI 工具)的公司,估计大家都在 master 上干活,没有 code review 阶段。你在硅谷这边么?
|
|
SharuruOct 26, 2018 via Android
76
嗯...每次这种话题总有工具优越党 ORZ。
大概想了想,Git 工具不一样导致冲突的可能...我想到一个,比如换行符( 有些 GUI 针对 repository 会有不同的预设 说回正题,对于大致 Git 操作流程,或者从 SVN 转过来的开发来说,GUI 点点点更容易接受。CLI 敲半天命令,tab 敲一万年补完路径啥的个人觉得不友好,也蛋疼。 几年前,我们一个团队从 SVN 转 Git 的时候,有个比较有脾气的技术就天天说 GUI 土,Bash 秒天秒地。后来不多久,文件,分支之多了以后,就天天说 GUI 真香了( doge ),一方面是因为他已经了解大部分 Git 的操作手法了,在用 GUI 在大部分情况下,明显便利不少。 题外话,比起 Source Tree 我喜欢 GitExtension,糙快猛。 |
|
j717273419Oct 26, 2018 via Android
77
你用 bash 提交也没人看得出来吧。
|
|
hasbugOct 26, 2018
78
这种公司呢 和你三观不合,一般就是要么忍 要么走人。
|
|
79
趁早走。
“工具不一致会导致代码冲突...”,能说出这种话的团队,肯定有这些特点:没有新员工培训、质量控制、技术委员会等等;领导特别怕麻烦,怕到本来该指挥机器自动化干的事,让人手工处理。 总之,公司 Low、团队 Low、领导 Low,趁早走。 |
|
skywalkerfcOct 26, 2018
80
@anonymous256 +1,表示 gitkraken 看起来比较舒服
|
|
HuHuiOct 26, 2018 via Android
81
目前经历的来看,非必要强制比较多的团队大多数都是傻逼比较多的,建议走。
|
|
WayneLauOct 26, 2018
82
表示只会用 git 命令,反而各种 git 的 gui 工具弄得我晕头转向,有些 IDE 也带一个 git 前端;所以只用 git 命令保持统一
|
|
xuan_lengyueOct 26, 2018
84
有些操作还是 GUI 比较直观,比如看 diff 之类的,喜欢用哪个就用哪个。
|
|
GovdaOct 26, 2018
85
不会用 gui 怎么办
|
|
jobscolinOct 26, 2018
86
+1 我很好奇他怎么知道你用什么提交的?
|
|
zongrenOct 26, 2018
87
sourcetree 能解决代码冲突?没用过
|
|
gesseOct 26, 2018
88
git push -f 解决一切 ;)
|
|
amengingOct 26, 2018
89
感觉命令行更直接诶,GUI 不怎么会用,可能学的时候看的教程都是 bash 吧,用 bash 的话,感觉脑子里的结构会很清晰,GUI 有点莫名其妙的(´・_・`)
|
|
ONEO666Oct 26, 2018
90
我也不知道人家怎么提交了,代码被同一个人覆盖了两次,代码被覆盖到了一个多月前的版本
|
|
liuboOct 26, 2018
91
看来要下个 sourcetree 体验一下了
|
|
junbaorOct 26, 2018
92
对 sourcetree 无感,感觉最好用的 git 客户端就是 jetbrains 家 IDE 自带的。
|
|
undeflifeOct 26, 2018
93
提这个的肯定没踩过 sourcetree 的坑, 我曾经碰到过, A 用 git bash,但是某个较低版本, B 用 sourcetree 最新, 某些原因导致 sourcetree 无法正常 commit, 一顿操作后, sourcetree 可以提交了,只不过全是--force ...
|
|
littlewingOct 26, 2018
94
离职吧,如果说限制只能用 git bash 可以理解,限制只能用 GUI 工具就不能理解了
|
|
nidengxiajiuaidaOct 26, 2018
95
路芭比,来我们公司吧。SVN 欢迎你。
|
|
nidengxiajiuaidaOct 26, 2018
96
git 设置了 alias 后,那是其他客户端所不能比的
|
|
nidengxiajiuaidaOct 26, 2018
97
离职吧
|
|
0x4b0082Oct 26, 2018
98
自从开始用 idea 内置的 git GUI 以后就不怎么用 source tree 了
|
|
dajjOct 26, 2018
99
linux 没有 sourcetree 怎么办
|
|
blackleeOct 26, 2018
100
这种规定还好,没什么值得辩驳的,仅仅是改一个小习惯。如果在这种事情上面也要扭捏的话,未免太过矫情。
git bash 没什么不好的,但 source tree 同样没什么不好的。 这个规定应该做的唯一更改,大概是「你们这些用 git bash 的异教徒,如果在这件事上出了差错的话,那要么改用 sourcetree,要么滚蛋」,这样爱用 bash 的继续用 bash 就是了。 |