前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高效协同开发

高效协同开发

原创
作者头像
mariolu
发布2019-10-15 02:04:56
1.4K0
发布2019-10-15 02:04:56
举报

一、需求

代码在windows机器本地编辑好了,需要在服务器测试环境同步验证。

1.1 sambas共享

假设服务机器开通sambas服务端口,并且windows防火墙允许访问。这时候可以在windows打开网盘一样,打开sambas共享的服务器文件夹,把代码工程放置于共享网盘,用IDE打开网盘文件夹的代码工程。

1.2 scp共享

因为windows机器一般处于办公网,为了内网安全,服务器和办公网一般隔离开,不是同一网段,需要办公时候使用跳板机连接两个网络。连接的认证或需要密码或者需要私钥。需要用到本地编辑大概是因为windows有一些强大的IDE。vs code或者jetbrain系列。

1.3 vim直接服务器编辑

这个就是比较直接,在服务器编辑代码,但是有些服务器多个开发用户共用一台虚拟机,大家使用容器隔离,有些时候,企业限定不允许安装一些个人插件,或者安装环境配置不能保证下次不被清除。linux流行的开发环境有:

1.4 svn或者git同步

当然git更流行,我们以git为例。git还分为有没有创建分支的权限。

1.4.1 有个人分支的权限

  • 创建一个个人分支
代码语言:javascript
复制
git branch <你的分支名字> <commit Id>或者git branch <你的分支名字> <已经存在的分支>
  • 基于当前所在的分支末梢并创建分支和checkout
代码语言:javascript
复制
git branch <你的分支名字> + git checkout <你的分支名字> 。这两个命令也可以等价于git checkout -b <你的分支名字>
  • 在你的分支修改改代码,完成之后再merge到master分支

1.4.2 无个人分支的权限

有种代码管理任务,提交到服务端的代码是必须被review过的干净的代码。所以有时候远程仓库设置不能创建个人分支。这个时候可以使用master的暂存区。比如gerrit会

Gerrit提供了一个特有的命名空间“refs/for/”用来定义我们的提交上传到哪个branch,且可以用来区分我们的commit是提交到Gerrit进行审核还是直接提交到Git仓库。

代码语言:javascript
复制
git push origin HEAD:refs/for/master

二、git的版本同步方式

2.1 比较好的方法

比如说国外开发团队比较好的开发流程啥,先提issue。这个issue会new一个同名的branch。这个branch添加你开发的代码,然后 在临时分支-提交代码-合并到master

2.2 中途需要多次提交

2.2.1 window机器提交更改

比如安装了tortoise git,在目录有git bash功能。开启一个bash终端

代码语言:javascript
复制
git diff --name-only 查看被修改的文件名
git add xxx 在增加要提交的文件,无论之前是否add,只要是再次修改,提交都需要add
git diff --staged 确认下是否加进来需要的commit了
git commit --amend
git push -f

五个步骤也可以合并成两个步骤:

代码语言:javascript
复制
git diff --name-only | xargs -L1 git add
git commit --amend && git push -f 

2.2.2 linux开发环境下载更改

代码语言:javascript
复制
git fetch
git reset --hard origin/<你的分支名字>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、需求
    • 1.1 sambas共享
      • 1.2 scp共享
        • 1.3 vim直接服务器编辑
          • 1.4 svn或者git同步
            • 1.4.1 有个人分支的权限
            • 1.4.2 无个人分支的权限
        • 二、git的版本同步方式
          • 2.1 比较好的方法
            • 2.2 中途需要多次提交
              • 2.2.1 window机器提交更改
              • 2.2.2 linux开发环境下载更改
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档