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

2022-04-22 10:33:35 +08:00
 itechnology

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

4825 次点击
所在节点    程序员
41 条回复
Chad0000
2022-04-22 10:34:41 +08:00
你 Pull 之前没有 Commit 先?
cmdOptionKana
2022-04-22 10:36:23 +08:00
先各自开分支?
Imindzzz
2022-04-22 10:36:27 +08:00
贴出具体错误是提问的基本素质
MoYi123
2022-04-22 10:39:01 +08:00
这不是失败, 这是让你解决冲突.
dvsilch
2022-04-22 10:39:52 +08:00
先把自己的修改 commit/stash 起来,再拉取别人代码

话说这不是基本的 git 操作吗,一搜就知道了
Gilgamesh7
2022-04-22 10:42:14 +08:00
pull 失败后,git stash -> git pull -> git stash apply ,有冲突解决一下冲突
villivateur
2022-04-22 10:42:51 +08:00
如果搞不定 Git 的工作区、暂存区、仓库、远端这些概念,建议用 SVN ,比较简单
Ev1s
2022-04-22 10:46:24 +08:00
这是正常的鸭
enopkf
2022-04-22 10:46:32 +08:00
用 git pull -r 更新,rebase 方式,有冲突解决冲突
ruanimal
2022-04-22 10:53:32 +08:00
https://www.liaoxuefeng.com/wiki/896043488029600

git 也是一种工具,要稍微学下怎么用的
monkeyWie
2022-04-22 11:11:02 +08:00
git stash
git pull
git stash pop
quxuanxuan
2022-04-22 11:18:20 +08:00
git reset 到较早的 commit
git pull
Junzhou
2022-04-22 11:20:11 +08:00
方案 1:pull 前,先把本地的 commit 了,但是一般不推荐这样做。因为你手头的活可能没做完。
方案 2:git stash ,先把当前没做完的活 stash 了,然后 pull ,pull 完,你同事的 commit 就合并进去了,这个时候,在把 stash 的内容取出来。
itechnology
2022-04-22 11:37:26 +08:00
@Chad0000 没有,我习惯先 pull ,再 commit
Felldeadbird
2022-04-22 11:43:16 +08:00
按理来说,开发时不应该频繁同时修改同一个文件。一般我是开分支来做。管理做合并处理。这样大家都做大家的事情。完成任务后,去合并到主分支。
fiypig
2022-04-22 11:44:42 +08:00
你先提交 ,然后拉取 ,然后合并提交
darkengine
2022-04-22 11:50:50 +08:00
@itechnology 先不管有没有冲突,先 pull 后 commit 肯定会报错
enopkf
2022-04-22 11:52:47 +08:00
我觉得大家说的 git stash 方式更好,但我补充一下先 commit 的方式,也就是 13 楼的方案 1

1. 先把修改 commit
2. git pull -r ,rebase 方式更新,这样你的临时 commit 就是最后一个 commit (当然有冲突解决冲突)
3. git reset HEAD^ 把临时提交取消,之前修改会恢复到工作区
unco020511
2022-04-22 11:56:31 +08:00
1.git stash
2.git pull --rebase
3.git stash pop
Chad0000
2022-04-22 11:58:25 +08:00
@itechnology
养成先 Commit 的习惯就行,而且一般情况下你们不应该在同一个分支下工作。如果工作的内容高度依赖,那么要么定期 Merge 对方的分支到自己的里面来,要么就在同一分支下工作:即使这样也是先 Commit 再 Pull ,Commit 就是确保你修改的及时备份,不要动不动给我整没了。

这两周工作的内容就是与另外一个开发高度重叠,就在同个分支下工作的。只不过这种比较少见迫不得已为之而已。

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

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

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

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

© 2021 V2EX