搜索
请教大家,是不是在linux线上修改代码,就会造成和git的代码不同步,就拉不了git了? 然后就悲剧了,需要重新部署项目。
ringa_lee
ringa_lee 2017-04-17 16:58:17
[Linux讨论组]

还有就是,为什么不同步,就拉不了代码了呢? 我也是只知道这个结论,不知道为什么。

ringa_lee
ringa_lee

ringa_lee

全部回复(5)
ringa_lee

刚刚看到你的问题有点儿不太理解,什么叫做:

在linux线上修改代码

后来我明白了,你的意思应该是你直接在远程服务器上对代码进行了修改。如果我理解的没错的话,你可以参考一下我的建议。

首先,在线上修改代码其实是很不好的做法,当然如果你在线上也进行了提交的话,那么这样也并没有错(第三方托管平台Github就支持这样做)。其实,并不是像楼主所说的:

就拉不了git

只是你处理的方法不对。你设想一下这样的情况:假如你在一台电脑上克隆了一个本地仓库,这个时候你本地和远程是一致的;可是另一个队友也在他的电脑上克隆了一个本地仓库,并做了一些提交,然后推送到了远程。之后,你在完全不知情的情况下,也做了一些提交,但还没有推送到远程。这时,你本地的代码就和远程不一致了,此时的这个状况不就和你现在这个状况一样吗?

这种情况是很常见的,我猜测你可能直接用了git pull命令,然后遇到了git不能自动解决的冲突或者其他git不能处理的问题,所以无法拉取。建议你先使用git fetch命令,然后再通过git merge remotes/origin/master手动合并。当然如果楼主肯把自己的解决过程以及错误提示贴出来的话,我们就能对症下药了,否则我也只能这样猜测了。

另外,我猜测你是在本地的master分支上直接开发的,其实并不推荐这样做。推荐的做法是,另创建一个特性分支,在该分支开发后,再进行合并。这样的话,本地的master分支可以始终通过git pull命令与远程保持一致,合并时,也只是解决本地master与本地其他分支的冲突。虽然,过程与前面差不多,但是这种更安全一些。

可是如果你是自己搭建的服务器,然后你又直接在服务器上对代码做了修改,虽然我没有遇到过这样的情况,但是我觉得这样的情况除了撤销修改很难有好的处理办法。我很期待其他人的解决方案。

PHP中文网

修改完之后 请 git add .,然后 git commit -m "some desp",然后就可以 git pull

黄舟

首先,你存在一个严重的错误。git 的配置文件.git是不能放到生产环境的。否则会有安全隐患,你源代码可能会暴露。
其次,在线上修改代码,你要 push 到origin 仓库后,才可以在线下 pull 到的。
最后,非常不建议你在线上修改代码。造成你这种行为的原因,肯定是代码的部署流程过于简陋的结果。

怪我咯

你这操作流程就不规范,如果线上代码是基于关联的某个git版本实现的自动推送的话,那就去找到版本进行更新推送到远端,然后让自动关联推到线上,如果线上版本本身就是某个分支的话,虽然不太好吧,也可以去相应分支修改然后推送到远端,服务器端实现拉取代码即可,其实是服务器线上代码怎么管理的问题,这个想清楚了其实就好处理了

天蓬老师

楼主说的在在linux线上修改代码这句话感觉有些问题,可能是想表达在生产环境中修改代码,其实这个问题不关乎是否是linux 的问题。 三楼 Fighting_Bird 同学的回答,很全面,你可以参考一下。 最后,并不建议在线上生产环境做代码推送操作

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号