einvince
V2EX  ›  问与答

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

  •  
  •   einvince · Apr 22, 2017 · 1734 views
    This topic created in 3310 days ago, the information mentioned may be changed or developed.

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

    8 replies    2017-04-24 09:47:32 +08:00
    miao1007
        1
    miao1007  
       Apr 23, 2017 via Android
    git diff > xx.diff
    sagaxu
        2
    sagaxu  
       Apr 23, 2017
    假设 git 是 master 分支

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

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

    现在想改成以后都用 git 部署
    sagaxu
        5
    sagaxu  
       Apr 23, 2017
    @einvince 问题根源不是手动部署,是有人绕过了部署流程。即便用 git 部署,也会出现有人手动修改线上代码的情况。
    einvince
        6
    einvince  
    OP
       Apr 23, 2017 via Android
    @sagaxu 手动修改线上的也可以 push 但到仓库里
    sagaxu
        7
    sagaxu  
       Apr 23, 2017
    @einvince 线上根本就不应该有访问 git 的权限
    einvince
        8
    einvince  
    OP
       Apr 24, 2017
    @sagaxu 为啥?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2536 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 00:29 · PVG 08:29 · LAX 17:29 · JFK 20:29
    ♥ Do have faith in what you're doing.