V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ginakira
V2EX  ›  程序员

求前辈指导 怎样多人协作更合适

  •  1
     
  •   ginakira ·
    Ginakira · 2020-01-29 22:41:19 +08:00 · 2559 次点击
    这是一个创建于 1762 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近用开源的 HUSTOJ 部署了一个在线评测系统到阿里云,使用的是 nginx+php7+mysql 这一套。因为直接食用的 php 代码展现的前端页面,前后端没有分离,所以想魔改一下然后尝试着重写前端。

    目前我自己使用的是 VSCode Remote 插件直接 SSH 到服务器上开发,现在想让队友能够一起参与开发,但直接 ssh 上去改容易出问题,由于知识和眼界所限,所以想问各位 v 友在不改变现有目录结构的条件下用怎样的方式多人协作更合适? ( php 页面都集中在一个文件夹下)

    目前所了解的:

    1. 部署 Gogs/GitLab 这类有可视化界面的工具,但是这类都只能在指定的工作目录新建仓库不能直接管理本地的文件夹,这样没办法正常访问

    2. 部署私有 git 服务,但是需要用户权限上的控制如不能直接向 master 分支 push,由于技术菜还没能完全用好 git

    由于是学生党还不清楚真正的在公司中是怎样一个流程,还望大家不吝赐教!

    11 条回复    2020-02-01 19:29:46 +08:00
    kokodayo
        1
    kokodayo  
       2020-01-29 23:01:43 +08:00 via Android
    ginakira
        2
    ginakira  
    OP
       2020-01-30 09:38:23 +08:00
    @kokodayo 一核有难 十核围观
    beginor
        3
    beginor  
       2020-01-30 10:50:31 +08:00
    试试 VSCode 的 Live Share 插件?
    ginakira
        4
    ginakira  
    OP
       2020-01-30 10:58:00 +08:00
    @beginor 我去看了下,Live Share 好像没有权限管理,但又不想任意人都能直接修改服务器文件
    ahui
        5
    ahui  
       2020-01-30 12:54:59 +08:00
    把 gogs 当作私有 git 服务使用, 本地代码都提交到 gogs, 然后通过 gogs 签出偌到生产目录. gogs 有简单的权限管理功能.
    codepm
        6
    codepm  
       2020-01-30 14:52:11 +08:00
    推荐用下 项目加 www.xiangmujia.com 支持团队协作项目管理
    ginakira
        7
    ginakira  
    OP
       2020-01-30 15:08:04 +08:00
    @ahui 感谢指教,等会就试试
    qiutian00
        8
    qiutian00  
       2020-01-31 17:39:20 +08:00
    一般不会直接连上服务器,直接改文件吧, 不便于文件改动地方或开发者的追踪, 也不便于多人拿到最新代码协同开发: 一般本地开发环境多人协同开发后,经过测试(看公司不同情况),测试没有问题之后,才部署到生产环境。

    本地协同开发,多用的是 svn 或者 git 来提交代码。之前公司用 git 提交代码,一般 master 用于发布版本的分支,dev 用于开发的主干分支, 修改 bug 或者开发新功能,都是从 dev 分支拉出一个新的分支(修复 bug: 新建一个"fix_某某 bug_开发者", 开发新功能: 新建一个"feat_login_开发者"),从而拿到开发主干分支的最新代码; 开发或者修复完毕之后,将分支合并到 dev 分支上, 这样能够尽量减少不同分支代码合并的冲突; 这也是公司的开发规范,视公司而定。

    git 每次提交代码, 都可以查看文件修改具体地方,git 使用可参考阮一峰老师的: http://www.ruanyifeng.com/blog/2015/12/git-workflow.html
    ginakira
        9
    ginakira  
    OP
       2020-02-01 10:13:18 +08:00
    @qiutian00 感谢!!学习了。直接改线上代码确实不妥
    wangyzj
        10
    wangyzj  
       2020-02-01 13:21:04 +08:00
    简单办法
    git 多分几个 branch
    然后服务器上定时 pull 一个 branch 比如 release
    以这分支发布为准
    ginakira
        11
    ginakira  
    OP
       2020-02-01 19:29:46 +08:00
    @wangyzj 受教了,谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1679 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:48 · PVG 00:48 · LAX 08:48 · JFK 11:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.