V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
einvince
V2EX  ›  问与答

线上、gt 仓库里的代码不一致,有什么好的办法?

  •  
  •   einvince · 2017-04-22 22:32:01 +08:00 · 1345 次点击
    这是一个创建于 2563 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚到这,以前的人交接一天就走了,现在修改都是先从 git 拉下来,修改,然后手动传到服务器上 前天修了一个 bug ,提交上去之后,总是不能正常运行,查了半天发现, git 里的代码不是最新的,代码里一些文件地址更改过 有什么好办法,批量把线上与 git 搞成一致的?

    8 条回复    2017-04-24 09:47:32 +08:00
    miao1007
        1
    miao1007  
       2017-04-23 00:04:19 +08:00 via Android
    git diff > xx.diff
    sagaxu
        2
    sagaxu  
       2017-04-23 00:14:00 +08:00
    假设 git 是 master 分支

    1. 新建并 checkout 到 prod 分支
    2. 用线上代码整体覆盖 prod 分支
    3. commit 并 push
    340244120
        3
    340244120  
       2017-04-23 00:21:52 +08:00 via Android
    你描述不够清楚,我推断是
    情况一:你只 cmt 而没有 push 。
    情况二:push 了,但后面把旧代码又 push 了上去。

    不过两种情况都可以这样解决:在有最新代码的利器上 pull ,不要自动更新,手动调整有区别的代码,然后 cmt 并 push
    einvince
        4
    einvince  
    OP
       2017-04-23 15:13:55 +08:00
    @340244120
    @miao1007
    @sagaxu
    确实未描述清楚,现在线上的代码不是用 git 部署的,是以前的人直接手动上传的,所以存在一些线上改了, git 里未改的不一致情况

    现在想改成以后都用 git 部署
    sagaxu
        5
    sagaxu  
       2017-04-23 18:44:58 +08:00
    @einvince 问题根源不是手动部署,是有人绕过了部署流程。即便用 git 部署,也会出现有人手动修改线上代码的情况。
    einvince
        6
    einvince  
    OP
       2017-04-23 21:35:10 +08:00 via Android
    @sagaxu 手动修改线上的也可以 push 但到仓库里
    sagaxu
        7
    sagaxu  
       2017-04-23 22:07:18 +08:00
    @einvince 线上根本就不应该有访问 git 的权限
    einvince
        8
    einvince  
    OP
       2017-04-24 09:47:32 +08:00
    @sagaxu 为啥?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2203 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:12 · PVG 00:12 · LAX 09:12 · JFK 12:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.