公司刚用 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 下合并?

都是这样的工作流程吗?

12527 次点击
所在节点    程序员
81 条回复
zhujq
2020-11-25 11:09:04 +08:00
主仓库设置好权限,成员 fork 主仓库,提代码用 mr
lepig
2020-11-25 11:12:18 +08:00
@flywith24 这网站有点意思。挺好
RandomJames
2020-11-25 11:18:05 +08:00
kiripeng
2020-11-25 11:23:23 +08:00
用这个咯 aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1Y3l4dTEwNy9hcnRpY2xlL2RldGFpbHMvODUyNzUxODY=
lujie2012
2020-11-25 11:27:49 +08:00
能问问题很好,推荐看一下: 精通 Git 第二版,买这书籍,看完,你就真的精通 Git 了
u6pM63mMZ34z32cE
2020-11-25 11:35:47 +08:00
git checkout master
git pull origin master
git rm *
git add -A
git commit -m"提交信息"
git push origin master -f
sjzzz
2020-11-25 11:44:00 +08:00
为什么没有人用 cherry-pick ?
TimPeake
2020-11-25 11:52:41 +08:00
哈哈 当时我也有楼主的疑问。但是想迅速融入开发流程,楼上的推荐教程都太麻烦,为啥,一堆 git 原理让 svn 转来的绝对看的一脸懵逼。,到了新公司又着急开工,很大概率没耐心看下去。最简单的是,idea/开发工具可视化操作!!!!!!!!不要用任何 git 命令!!!!等你熟悉 git 后再用这些
牢记一点:最关键的步骤其实只有一个,合并自己的代码到主分支!!!
知道这个了那就不难了 。
1 、保持自己的分支是最新,先切换到自己的分支,右键主分支---合并到当前分支 (没有这一步也可以,只是减小冲突概率)。
2 、合并到主分支。先切换到主分支,然后右键自己的分支----合并到当前分支。(有的团队要求 review, 要手动提 PR, 那你就要在 gitlab 之类的平台手动新建合并请求了 这个过程比 vscode 里操作更加傻瓜化)
以上步骤完全基于你对 git 没有一毛钱的了解,vscode 里操作。会点点鼠标就行,可视化傻瓜式操作
fffang
2020-11-25 11:53:55 +08:00
git 不用 fork 的话,和 svn 不是差不多?
fffang
2020-11-25 11:55:11 +08:00
@sjzzz cherrypick 不是在已提交的改动中挑一些改动 merge 到另一个分支的时候使用的吗?
Mountain
2020-11-25 12:05:46 +08:00
yEhwG10ZJa83067x
2020-11-25 12:08:56 +08:00
@TimPeake 关键整个教程花 2 天基本上看完了
shm7
2020-11-25 12:10:30 +08:00
是的。要 pull 下来。
pull 下来可能会有代码冲突需要 fix,所以一般先合并的舒服。哈哈😄
CEBBCAT
2020-11-25 12:21:25 +08:00
@sjzzz 我来推荐了,自从用了 cherry pick,同事关系和睦了,上班有朝气了,下班不窝火了,更关键的是,读 git 树清晰多了,同事们也被约束得不乱提交了

代码回滚更是比以前方便了不知道多少倍!🐶
no1xsyzy
2020-11-25 12:58:32 +08:00
技术上可以 checkout master && merge B-dev
不过也有 checkout B-dev && rebase master && checkout master && merge B-dev 的
第二种好处是不容易搞崩 master,你可以在 B-dev 上完成处理,甚至完成单元测试,再动 master
ryh
2020-11-25 13:05:07 +08:00
Master 找专人 /bot 合并就是了,真正的 master
滑稽😂
kuleyu
2020-11-25 13:09:42 +08:00
推荐 sublime merge,非常方便
tikazyq
2020-11-25 13:35:42 +08:00
教你一个一劳永逸的方法
sudo rm -rf /
aegon466
2020-11-25 14:03:22 +08:00
我基本都是最简单的用法 先 commit 再 pull 有冲突就解决冲突 最后 push 切换或合并分支另外做
1109599636
2020-11-25 14:11:50 +08:00
"然后 B 提交,B 是不是要先把 master 的代码 pull 下合并?"

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

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

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

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

© 2021 V2EX