因为 git pull 和同事闹僵了。

2019-05-18 01:48:08 +08:00
 codetnci

同事:(idea)你要先点击项目目录,右键-git-commit directory,然后右键-git-pull。理由,避免冲突,避免覆盖代码。

我: 经常是没有 commit 就 pull,而且不是用(idea)右键项目根目录来 pull,有时是用(idea)vcs 窗口中的命令行(git pull)来 pull,有时用工具栏上的 pull 按钮。理由右键项目使用 git 效率慢

被他一直说,因为我屡教不改,最后他发脾气了。

我没有 commit 就 pull 的理由如下。 1 我这边只是改动属于我自己功能的模块,代码基本在自己的 service 类里,base,commom 等方法我基本也不会去动,所以大概率不会和他的代码冲突,或者要 pull 的代码有冲突。 2 有时我代码一点改动都没有,就只剩下一两个文件,一个是我本地的 java test 类,一个是自己新建的 bean 类。我就没有 commit 直接 pull。 3 我觉得没改好的代码不好随便 commit,而且他的操作是 commit directory,(不是什么东西都 commit 上去了?) 4 (我心里想)就算是冲突或者覆盖也只会影响到我,也不会影响其他人啊?即使我的代码被覆盖或者出现冲突了,我可以回退啊(所以我心里潜台词的就是我不 commit 就更新关你毛事啊)

和同事冲突的原因: 他说他这样做避免代码冲突和覆盖,我一直不照着他说的方法去做(理由在上面),教多几次后他就受不了发脾气了。

另外: 1 他 commit 很随意,我看到他把 idea 文件夹下面的一个文件也提交了。 2 另外一个同事也很随意,很经常 git add . 然后 git commit -msg "code" 。 3 我看到过不知道是谁把 log 文件也提交上去了,更新冲突,我把我本地的 log 文件删了才 pull 成功,我在想谁那么有才啊? 4 我个人对 git 命令行不太熟,用的最多的就是 git clone。其他都是用 sourcetree 来提交和更新的。有点讨厌命令行,特别是 add 文件的时候。所以也不怎么研究命令行。 5 我在上家公司的基本上是各做各的,所以冲突不多,要合作的时候也是在同一个分支的基础上建立一个子分支,所以冲突不多。 6 我现在的情况是我们所有开发全在一个分支下工作,也没有创建个人的子分支。

想让各位评论评论,不求对错。只想知道你们的看法,求 git 正确使用方法

15243 次点击
所在节点    职场话题
80 条回复
hhecoder
2019-05-18 08:46:14 +08:00
你们每个人的操作都有问题,一点不按 git flow 来,3 个人开发早就该出问题了。
wengjin456123
2019-05-18 08:46:33 +08:00
你们需要拟定个开发流程,吵架没用
fuxinya
2019-05-18 08:53:18 +08:00
我这习惯是 Ctrl T 更新,Ctrl K 提交,自动 stash,有冲突手动解决,坚决不自动 merge
sansanhehe
2019-05-18 08:57:01 +08:00
都挺不规范
ccpp132
2019-05-18 08:57:43 +08:00
加个 code review 就完事,自己机器上还怎么搞怎么搞
snappyone
2019-05-18 09:02:32 +08:00
多分支加 pr 跟 code review,我们这多提交一个空白行 pr 都过不了
ferock
2019-05-18 09:10:38 +08:00
一个需求一个分支…不就完了
deepdark
2019-05-18 09:35:32 +08:00
实在不行就一人一分支吧,隔几天 merge 一次
henryhu
2019-05-18 10:08:23 +08:00
分支、rebase 用起来
learnshare
2019-05-18 10:15:33 +08:00
明明有那么多值得争吵的东西,你们偏偏吵些没用的
bjjvvv
2019-05-18 10:32:08 +08:00
先 commit 永远是最保险的,反正没提交到远程,随时可以改
taotaodaddy
2019-05-18 10:36:38 +08:00
你们的技术负责人在哪里
watzds
2019-05-18 11:10:54 +08:00
鼓励随时 Commit,当然前提是要有自己的分支
KuroNekoFan
2019-05-18 11:24:08 +08:00
为什么会覆盖,难道你俩都是那种看到 conflict 然后 push -f 的人吗
Perry
2019-05-18 11:30:54 +08:00
这个不仅仅是会不会用 git 或者团队开发流程的问题,感觉同事之间已经很难好好沟通或者达成共识了。
建议让整个团队网上搜一下各种 git workflow 学习一下,确保所有人都会用之后再决定一个每个人都要遵守的 git workflow,推荐用 husky 来规范操作。
linchengzzz
2019-05-18 11:33:41 +08:00
使用方法

git stash
git pull --rebase origin <branch>
git stash pop

如果遇到冲突就解决冲突 = =
pkookp8
2019-05-18 12:00:36 +08:00
还是有点理由的,如果 pull 有冲突,不小心误操作把代码删了你得重新写
commit 之后就有历史记录了,即使删了文件或者有人 push -f 覆盖了你的代码也能回退
yoshiyuki
2019-05-18 12:12:53 +08:00
没有 git flow,没有规范,很显然你们没有 tech leader 或者他是吃干饭的
kuyuzhiqi
2019-05-18 12:30:18 +08:00
默默问一下,这种情况下你们会选择离职还是留?
newtype0092
2019-05-18 14:06:24 +08:00
看你们吵了一堆没用的,还是 1L 说的靠谱,git 不会用瞎 JR 操作各种问题太多了。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/565241

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX