请问前辈,像github,码云这种平台,多人合作开发同一个项目的操作到底是怎样的???

前辈好,其实我一直以来都只把github当做一个可以公网访问我的网页的一个工具。。 = =。

我对github的熟悉度,我只会pull自己的仓库代码,提交代码,公网访问,还有下载别人的仓库代码。。。我觉得我这样子是严重有问题的 = =

所以我想请问一下前辈,比如说,现在我要和我同学一起写同一个页面,我写页面的上部分,他写页面的下部分,请问到底这个合作开发流程要怎么操作???

我是这样想的,我写我的部分,他写他的部分,那他肯定有他的css文件夹,还有img文件夹等等啊,那他提交上来不就覆盖了吗?还有css那部分肯定会有命名重复情况发生吧??

请问前辈,正确的合作姿势究竟是怎么弄的??

打扰了,望指导!

阅读 6.6k
10 个回答

一般协作的时候没有分这么细的,一个人写上半段,一个人写下半段,而是每个人各自负责一个模块/文件夹,公共的部分也是指定其中一个人单独负责,这样在合并的时候就不会有冲突,如果非要在同一个模块或文件上共同操作,就要采用各自编写分支,最后再合并的策略了,但是这种情况我一般会避免,因为解决冲突往往比较费事,也容易出错,分支多了也很难管理,如果项目规模不大,没必要这么折腾。

再补充一句,如果真的有一个人写上半段,一个人写下半段的情况,那你要看一下是不是在项目的组织与分割上出了什么问题,这个文件/模块是不是需要被进一步分割。

多update,多commit,有冲突就merge,完事儿

你去看一下Git,Git可以解决你描述的问题。你们在同一个分分支开发就可以了,然后你同事把改完的代码提交到远端,你pull下来就可以了,如果出现冲突了,解决一下就好,你再push你的代码到远端,你同事再pull下,这样代码就可以相互依赖使用,而不会出现你说的覆盖的问题

git的多人协作使用有各种方式,可以参考gitflow流程(根据参与开发人数与项目复杂度可以适当简化流程)

同名文件夹不会有覆盖,会合并文件夹。

同名文件也不会覆盖,首先git会扫描文件改动,尝试执行合并(merge)。
如果不能自动合并,会提示你文件冲突(conflict),此时后来者pull后需要手动编辑文件查看双方修改,处理完冲突并commit,然后再push。
如果可以自动合并,也要注意极特殊情况下可能出现错误的自动合并,因此需要做好测试工作。

兄弟,如果是这样,我这里有一些进阶的git的东东.常用的git用来做管理哈,其中有branch开发,issue就是问题,也可以设置里程碑来进行开发,可能用的很多的就是用branch开发,用tag来申明版本.
像普通的,一般就把git当成svn来用.完全提现不了git的魅力.
给你一本天残剑法,哈哈,看不懂哈,
其实还有一本九阳神功.
额,加班去了.....

说的是githubpull request功能吧。

最好要有一个分支,代码提交在分支上,刚开始创建的项目一般是在master上,有冲突的话可以merge,rebase等操作,这些在需要去学习下,不难

你不是不了解github,你是不了解git

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