设为首页 收藏本站
查看: 942|回复: 0

[经验分享] 使用Git代替FTP进行虚拟主机的代码管理

[复制链接]

尚未签到

发表于 2018-1-13 16:30:37 | 显示全部楼层 |阅读模式
为什么要使用Git代替FTP的原因:

  由于本人菜鸟+穷屌,玩不起VPS和其他大牌的云主机,所以呢就只能在景安(这不是广告。。)申请了免费的虚拟主机,就想着自己玩玩而已,免费的嘛,空间流量什么的就不讨论了,主要觉得比较麻烦的就是代码提交,由于使用的是FTP Server进行代码提交的,所以每次改点东西都得打开filezilla,改的多的就整个文件覆盖,改的少的就打开到相应的文件夹进行选择性的修改,这也就导致了操作烦死了,还有一点就是没有版本管理,一旦出了问题就贼尴尬了,所以就有了使用版本管理工具来连接FTP Server进行版本管理和代码提交;

  由于本人工作中用的是SVN,所以起初也是在网上找关于SVN提交后同步到FTP的相关文章,大致是通过利用SVN的HOOK来实现:
  

  
但是。。。真心看不懂那啥shell语法,所以换到Git方向,想了解具体SVN提交后同步FTP的同学可以查看下面的文章:
  
SVN 提交后自动同步到FTP

那接下来就来讲讲我实现的方式: git实现FTP Server代码提交;
  使用工具: Git、git-ftp;


  •   安装git;
      
    官方下载地址:这有个问题,就是小水管实在是下载速度贼鸡儿慢,常常就停了,最好的方式还是找度娘搜索 git+版本号,会有很多好人会下载后保存到国内云盘中,这速度当然就飞起;官网的,我科学上网也速度贼慢,搞不懂了,有什么好方法还请大神教教;
      
    安装时可以无脑下一步,没什么影响,如果要看安装教程可以参考:安装git教程

  •   有需要的话,选择性安装git图形化工具,还有中文包很友好;
      
    git小乌龟,安装也很简单,可以选择安装路径,其他的默认选项即可;

  •   安装git-ftp
      
    git-ftp 的 github 网址
      
    查看其中的 INSTALL.MD
      

      
    顶上一大段主要说的是下载带sftp支持的curl,但实际上新版git装完,git bash里的curl支持sftp;所以就可以直接在 git bash 中执行以下代码安装git-ftp
      

    curl https://raw.githubusercontent.com/git-ftp/git-ftp/master/git-ftp > /bin/git-ftp  

      
    chmod 755 /bin/git-ftp
      

      应该是将git-ftp文件下载到到git/usr/bin,不知道可不可以直接在github上下载git-ftp到git/usr/bin;
      安装完之后可以使用$ git-ftp -h
      
    检测是否安装成功,出现如下图说明安装成功,ctrl + z 关闭;
      


  •   创建git仓库
      
    打开你要上传至FTP的文件夹目录,使用git bash 运行git init,在文件夹中生成一个隐藏的 .git文件夹,包含了该仓库的一些配置,主要的git config

  •   配置git config中关于ftp的信息
      

      
    **注意:如果你要同步的文件夹不是FTP的顶层,需在FTP地址中加入相应的文件名 比如 ftp://127.0.0.1/WEB**
      
    接下来将FTP服务的账号密码路径等写入git config中,省得每次都得输入;
      

    git config git-ftp.url ftp://127.0.0.1/project/dowob  
    git config git-ftp.user dev1234
      
    git config git-ftp.password 1234
      

      配置完成后git config为:
      

      如果你只想同步本地目录中的某一个文件夹时,可以这么配置:
      

    git config git-ftp.syncroot ./dowob/assets   目录根据自己结构定
  •   提交同步代码;
      
    接下来就是git的正常使用了,再修改了代码后使用git同步,然后commit,接下来就是最重要的一步,push到FTP服务器上:git ftp push, ** 注意这里不是git-ftp **
      
    然后就可以去刷新你的页面查看修改情况了;

  •   git ftp 常用命令
      
    https://github.com/git-ftp/git-ftp/blob/master/man/git-ftp.1.md

  最好是看看上面的连接说的比较详细;
  git ftp init 用于本地有提交,远程ftp url为空,上传所有提交到远程并创建.git-ftp.log
  git ftp catchup 用于远程有内容,本地是空库,在远程创建.git-ftp.log,再git ftp download
  常用
  git ftp pull 拉取(注意:拉取的时候要确保你的当前文件夹是一个git仓库,如果不是,请先执行 git init, 然后修改 。git中的config,添加上 git-ftp的用户名、密码、url等配置)
  git ftp push 推送

总结:
  

对git使用基本不熟悉,最常用的也就 git clone /笑哭,所以得慢慢熟悉起来,毕竟git是主流的版本管理工具,很有学习的价值,至少现在能用了,不必每次都开FTP软件,还得选择上传的东西,一切都好舒服~~~~  

参考文章:
  git-ftp 用git管理ftp空间
  
How to use git-ftp: 使用 git-ftp 管理你的 FTP

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-434750-1-1.html 上篇帖子: 国内可用的SVN和Git代码托管网站汇总 下篇帖子: safeguardEagle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表