QQ登录

只需一步,快速开始

终极精品

查看: 2643|回复: 0
打印 上一主题 下一主题

[网络技术] 使用Git代替FTP进行虚拟主机的代码管理

[复制链接]
[至尊红钻3级]发帖数量≥1000篇 [至尊黄钻5级]威望≥3000点 [至尊蓝钻3级]在线时间≥800小时 [至尊绿钻5级]贡献度≥3000点 [至尊紫钻6级]金币≥200000个 [未点亮至尊粉钻]精华贴数不足10贴 [未点亮至尊黑钻]活跃不足8个
 等级: 
 级别: 管理员
 UID:  1   [未点亮普号显示]钻石不足3个
 积 分: 407416
 威 望: 3806
 贡 献: 3745
 活 跃: 0
 发 贴: 1401 (4)
 终极币: 394653  
性 别: I'm 火星人!
阅读权限: 200
在线时长: 1151 小时
注册时间: 2014-7-25
最后登录: 2025-4-29
go
楼主
发表于 2020-5-8 02:41:17 |只看该作者 |倒序浏览

查看完整版请注册登录浏览

您需要 登录 才可以下载或查看,没有帐号?点击注册

x
为什么要使用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;
    注意:这块在新win10系统中可能出现以下错误:

                                   
    登录/注册后可看大图

    这个是因为系统没有修改Git/usr/bin的权限,找到C:\Program Files\Git\usr文件夹,根据网上搜索到的方式添加完全控制权即可
    安装完之后可以使用$ 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/dowobgit config git-ftp.user dev1234git 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 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软件,还得选择上传的东西,一切都好舒服~~~~参考文章:
分享到: QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏0 支持支持0 反对反对0
宣传推广终极精品资源www.chnspy.com提升下载权限1...
您需要登录后才可以回帖 登录 | 点击注册

本版积分规则

QQ|Archiver|手机版|小黑屋|终极精品资源 ( 版权所有:广州汉鸿信息科技有限公司 粤ICP备15041466号

GMT+8, 2025-5-9 04:25 , Processed in 0.140620 second(s), 30 queries .

Powered by Discuz! X3.2

© 2015-2016 www.chnspy.com.

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