git 的正确使用姿势是怎么样的?和另一个同事修改同一个文件(不同的行)时, git pull 老是失败

2022 年 4 月 22 日
 itechnology

我是写 Java 的,经常在和另一个同事同时修改一个文件,但改的是不同的方法时,如果其中一个人提交了代码,另一个人 git pull 一定会失败

5589 次点击
所在节点    程序员
41 条回复
unco020511
2022 年 4 月 22 日
补充一下,正常来说你一般不和同事在一个分支开发呀,当然如果是两个人开发同一个功能除外
weichengwu
2022 年 4 月 22 日
看一下 git 入门教程
itechnology
2022 年 4 月 22 日
@unco020511 我和同事开发同一个页面的不同接口,我们把这些接口都写在同一个文件里面了
msaionyc
2022 年 4 月 22 日
你先明确一下“一定会失败”是什么意思,不然很难得到你想要的答案
nothingistrue
2022 年 4 月 22 日
git 修改同一个文件,不一定总是冲突,但大概率冲突,这要看 git 能否自动将两个人的修改合并成一个。所以尽量避免修改同一个文件。

如果不能避免,那也不是啥大问题。pull 之后用新提交解决冲突,或者先 rebase 解决冲突再 push ,都可以,但是以上的前提是:**********先提交*********。

pull 失败跟冲突是两码事,本地工作空间没内容时,pull 只会产生冲突不会失败。本地工作空间有内容,并且预期还会产生冲突(实际上是 Git 无法自动解决冲突),才会 pull 失败。

使用 Git 时切记,先提交后 pull (如果暂时还不想提交就 stash ),不要像 SVN 那样先更新后提交。如果是想获取线性提交历史,那么使用 pull --rebase 即可,但本地还是要先提交。
chiu
2022 年 4 月 22 日
失败的错误信息是什么?
zamaojava
2022 年 4 月 22 日
idea 应该提示很好啊,从来没打过命令,idea 无脑支持。
ClericPy
2022 年 4 月 22 日
大项目参考一下 git flow?

十人以下的考虑 Github flow?

尽量避免不同的人开发同一个文件 /模块, 是不是底层抽象的不彻底
dddd1919
2022 年 4 月 22 日
结对编程,一个人改
zooeymango
2022 年 4 月 22 日
git 对比的是文件的那一行进行了修改, 虽然你觉得你们写的是不一样的代码, 但是对 git 来说你们的改动冲突了
wolfie
2022 年 4 月 22 日
这水平还是用 svn 好。
xcsoft
2022 年 4 月 22 日
出现冲突了吧
624144061
2022 年 4 月 22 日
都是老实人,我建议 git push -f
deplivesb
2022 年 4 月 22 日
https://learngitbranching.js.org/?locale=zh_CN
建议你去跟这这个学一学
CodeCodeStudy
2022 年 4 月 22 日
你让他不要动
拆分大文件,每个人负责某个文件不就好了
callv
2022 年 4 月 22 日
这种协作用 git flow ➕ code review 好些
mkmoon
2022 年 4 月 22 日
commit 后,也可以先 git fetch ,再在本地 git merge ,最后再 push 就行
yeqizhang
2022 年 4 月 22 日
用 idea 用习惯的我,都是没 commit 先 pull 来合并别人的提交的🐶
magicls
2022 年 4 月 23 日
push 之前先 git pull --rebase ,有冲突解冲突,解了再重新 git add; git commit 。

你要知道,git 的冲突是你一定会遇到的,一定要面对的,一定要会解的,而不是说想办法不要有冲突,如果你那样想那就错了。
tooya
2022 年 7 月 18 日
@yeqizhang idea 的 pull 实际上就是做了 git stash 、git pull 、git stash pop 三步

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

https://study.congcong.us/t/848517

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

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

© 2021 V2EX