公司刚用 git,还不太会用,请教下怎么合并代码

2020-11-25 10:19:31 +08:00
 darknoll

公司原来都是用 svn 的,现在刚改成用 git

现在有一个 master 分支,然后每个人都有自己的分支

每个人开发的时候,最开始是从 master 上拉取代码到自己的分支,比如 A:master->A-dev; B:master->B-dev

现在两个人同时开发自己的部分,最后都要合并到 master,A 先提交,那么 A 直接合并到了 master,然后 B 提交,B 是不是要先把 master 的代码 pull 下合并?

都是这样的工作流程吗?

12198 次点击
所在节点    程序员
81 条回复
1109599636
2020-11-25 14:15:59 +08:00
抱歉按错了, 这里如果 B 修改的代码和 A 完全不同,是可以直接 push 的。但是如果 B 修改的代码和 A 有重合会产生冲突,应该先 pull 下 master 自己手动解决下冲突,然后再 push 。

ps:看楼主描述是直接合并到 master,一般的工作流程应该是本地分支 A-dev 写完后 push 到远程同名分支,然后由远程分支发起合并到远程 master 的操作吧,最后项目负责人合并远程 master,合并后其他人 pull 更新本地 master ?
jhiiii
2020-11-25 14:16:17 +08:00
kingfalse
2020-11-25 14:16:22 +08:00
人不多的话大家一个分支开发呗,做不同的功能,勤 push,多 pull,一点毛病没有
ryouok
2020-11-25 14:22:11 +08:00
搞懂 git 工作流,然后下一张 CheatSheet 留着随时查,https://www.bilibili.com/video/BV1ni4y1t7jK
Cstone
2020-11-25 15:06:51 +08:00
https://chenliny.com/archives/421/

假如你用的 IDEA,可以看看我之前整理的 IDEA 下的 git 使用,我觉得 IDEA 的 git 管理很好用也挺好理解的
yesicoo
2020-11-25 15:09:34 +08:00
jeefyjl
2020-11-25 15:29:59 +08:00
用 tortoisegit 表示有 ui 显示操作爽得一逼
tonyaiken
2020-11-25 15:47:16 +08:00
@acmore 他只是说用 Git,不一定用了 GutHub 。
litchinn
2020-11-25 15:50:38 +08:00
https://oschina.gitee.io/learn-git-branching
gitee 提供有教程,另外个人比较推荐 githubDesktop,github 首页有下载,界面简单操作简洁
nnnToTnnn
2020-11-25 15:53:29 +08:00
git fetch origin
git rebase origin/master
git push develop

merge request

develop -> master
nnnToTnnn
2020-11-25 15:54:42 +08:00
@mebtte 你特么可真是个天才,确实这个方法很简单~
acmore
2020-11-25 16:09:32 +08:00
@tonyaiken 按照题主所描述的内容,至少是有个代码托管库的,这类产品都会有 Pull Request 功能的。此外这也并不是代码托管工具的功能,Git 本身也是有 "request-pull" 指令的。
BlackAndBlue
2020-11-25 20:46:28 +08:00
waterlaw
2020-11-25 20:48:54 +08:00
git add <要提交的文件>

git commit -m "提交信息"

拉取一个远程分支到本地临时分支
git fetch origin master:tmp

合并分支,解决冲突
git merge tmp --no-ff

git push origin dev:master

删除临时分支
git branch -d tmp
ychost
2020-11-25 20:56:40 +08:00
用 IDEA 的 vcs 工具,不用记命令,还有图形化的合并窗口,美滋滋,命令行用着容易出错
cassyfar
2020-11-25 21:00:52 +08:00
git push —force
tonyaiken
2020-11-26 03:16:17 +08:00
@acmore 每个公司流程不一样吧,我们就没有 PR 这个步骤。
fpure
2020-11-26 08:32:49 +08:00
@lujie2012 这不就是 Pro Git 吗
fpure
2020-11-26 08:37:24 +08:00
把 Git 官网的 Pro Git 的第 1 、2 、3 、7 、10 章看一遍,基本就会了。PS:Pro Git 可是有官方中文的喔
binbinbbb
2020-11-26 08:51:39 +08:00
没有人用 rebase 吗

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

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

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

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

© 2021 V2EX