idea中,使用git,多人协同在dev分支开发,其中一个人开发完毕想把代码push到主分支,其他人的不push,应该如何做?

一共两个分支
一个master,一个dev
多个人同时在dev分支上开发
我开发的模块在dev分支上测试通过了,其他同事还没有测试完毕
我想把我本地修改的内容,push到master分支应该怎么做呀?

阅读 3.1k
7 个回答

你可以自己单独开一个分支,同时往dev和master分支合并

dev 已经被污染,没办法。

着急的话,可以从 master 拉一个分支出来,把你修改的部分重新改一遍,再合并回去 master。

这个活结束后,你们应该停止多人在 dev 上做,每个人建立一个自己的分支,各自在自己分支上干活,测试通过再合并到 dev 或者 master。

新手上路,请多包涵

1、git stash 将本地的修改暂存
2、git checkout master 切换到master分支
3、git stash pop 取出暂存的本地修改
4、git add . (点号代表所以本地修改文件,也可以根据需要添加)
5、git commit “描述”
6、git push origin

如果dev上已经包含多个人开发的内容,最好是在一开始就新建自己的分支比如分支a,分支a开发完成后,将分支a合并到dev,dev测试通过后,再在将分支a合并到master

现在要弥补的话,可以尝试切换到master分支,然后fetch dev分支的代码,然后手动合并你想合并的部分

1:git cherry-pick 可以检出特定的commit到一个分支
2:但是最好不要暴力的直接检去master,因为你的dev分支被其他人污染了,最好从master拉一个分支xxx,检到xxx分支上,待测试完成,在合到master上去。

关键命令:cherry-pick

先去检查你之前在dev上的提交记录,有没有自己push的时候和别人的merge了

没有的话最好,有的话就记下,

切到master分支,挨个cherry-pick 你在dev分支的commit-hash
然后手动处理掉上面merge的别人代码的改动(每个人负责不同模块,应该是冲突比较少的)【上面没有merge就不用做这步】
再推到origin master

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏