ftp管理不能实现版本控制,而且多电脑工作时,同步很成问题。

git-ftp可以完美的解决问题

下面是我的趟坑之路,本机的环境是win10,首先你的机器得装有git

git-ftp的地址https://github.com/git-ftp/git-ftp/

一、安装git-ftp

  查看install.md文件中关于windows的内容;主要说的是下载带sftp支持的curl,但实际上新版git装完,git bash里的curl支持sftp

  在git bash中

$ curl -V
curl 7.53. (x86_64-w64-mingw32) libcurl/7.53. OpenSSL/1.0.2k zlib/1.2. libssh2/1.8. nghttp2/1.19. librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz TLS-SRP HTTP2 HTTPS-proxy Metalink

  你会发现是支持sftp的,不用再安装curl直接在git bash中执行

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

  如果提示bash: /bin/git-ftp: Permission denied,那么请用管理员权限运行git bash

  我理解以上步骤就是复制git-ftp文件到git/usr/bin下,应该可以直接在github上下载git-ftp到git/usr/bin下,但我没试过,有兴趣可以试验下,告诉我结果。

二、创建git仓库

在你要创建仓库的目录下执行,在cmd或git bash中都可以,文档中只说了git config,但在这之前

必须先git init创建一个空的仓库,否则没有.git文件夹,是不能执行git config的

git init
git config git-ftp.url ftp.example.net
git config git-ftp.user ftp-user
git config git-ftp.password secr3t

在你的仓库下.git目录下有个config文件,里面可以设置url,user,password

[core]
bare = false
repositoryformatversion =
filemode = false
symlinks = false
ignorecase = true
logallrefupdates = true
[git-ftp]
url = url
user = yourusername
password = yourpassword

三、进阶安装lftp

  因为git-ftp 的有些命令(git ftp download;git ftp pull)需要用到lftp,所以需要安装lftp

  在 git bash 中执行

chcon install lftp --version 4.7.

  安装lftp

  可以到 https://nwgat.ninja/lftp-for-windows/ 查看最新的lftp版本,也可以下载安装复制到git/urs/bin下,但可能会有冲突,没有自动安装好

四、git ftp 命令

https://github.com/git-ftp/git-ftp/blob/master/man/git-ftp.1.md

  最好是看看上面的连接说的比较详细

  我理解:git ftp是通过远程创建.git-ftp.log文件进行版本管理的。

  git ftp init 用于本地有提交,远程ftp url为空,上传所有提交到远程并创建.git-ftp.log

  git ftp catchup 用于远程有内容,本地是空库,在远程创建.git-ftp.log,再git ftp download

  常用

  git ftp pull 拉取

  git ftp push 推送

 五、创建批处理文件,方便执行

  在仓库目录下建一个pull.bat文件写入

git ftp pull

  在仓库目录下建一个push.bat文件写入

git ftp push

  这样就可以每次执行.bat 文件不用打命令了

git-ftp 用git管理ftp空间的更多相关文章

  1. 使用Bandwagon服务器ftp解决git clone速度慢的问题

    写在前面 git clone速度往往很慢,我们可以先在身处美国的服务器上git clone,然后把文件用ftp传回来即可. 开始 我们以opencv为例 git clone https://githu ...

  2. 使用GIT进行源码管理——GIT托管服务

    虽然GIT是分布式代码管理,但是仍然需要一个集中存储服务以实现团队协作和代码备份的.对于企业的私有代码来说,大多是自建GIT托管服务.但对于开源项目和个人的私有项目,往往是选择一个GIT托管网站,这样 ...

  3. Git学习(一) 版本号管理工具

    Git 是一个分布式版本号控制工具.它的作者 Linus Torvalds 是这样给我们介绍 Git  -- The stupid content tracker(傻瓜式的内容跟踪器) 1. Git ...

  4. 使用GIT进行源码管理 —— 在VisualStudio中使用GIT

    GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在VS2013中已经转正.本文在这里简单的介绍一下如何在Visu ...

  5. Git标签和别名管理

    一.Git标签管理 标签类似于快照功能,可以给版本库打一个标签,记录某个时刻库的状态,也可以随时恢复到该状态 例如给master打一个v1.0的标签 先切换到master分支上去git checkou ...

  6. Git远程和分支管理

    一.远程       Git是分布式版本控制系统,最重要的优点就是远程仓库托管代码.不用自己搭建一个服务器,在github上面注册一个账户就可免费获取远程仓库.      首先需要先在github上面 ...

  7. git@oschina.net源代码管理使用日记

    git的优势: 1 可以创建分支: 2 版本控制是基于每一次提交的,而不需要考虑每次提交了多少个文件. 下载: 下载网址为:http://git-scm.com/download,根据您的操作系统选择 ...

  8. Git 远程仓库的管理和使用

    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...

  9. 【git学习二】git基础之git管理本地项目

    1.背景        git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作. git运行本地项目管理包含对于相关文件的追踪,暂存区的比較分析,提交,撤销等功能. ...

随机推荐

  1. iOS 原生的 UIButton 点击事件是不允许带多参数的,唯一的一个参数就是默认UIButton本身 那么我们该怎么实现传递多个参数的点击事件呢?

    UIButton *btn = // create the button objc_setAssociatedObject(btn, "firstObject", someObje ...

  2. Java豆瓣电影爬虫——模拟登录的前世今生与验证码的爱恨情仇

    前言 并不是所有的网站都能够敞开心扉让你看个透彻,它们总要给你出些难题让你觉得有些东西是来之不易的,往往,这也更加激发你的激情和斗志! 从<为了媳妇的一张号,我与百度医生杠上了>里就有网友 ...

  3. wemall app商城源码Android中ViewHolder详细解释

    1.ViewHolder的解释: (1).只是一个静态类,不是Android的API方法. (2).它的作用就在于减少不必要的调用findViewById,然后把对底下的控件引用存在ViewHolde ...

  4. 跨平台的.NET邮件协议MailKit组件解析

    发起的.NET Core开源组织号召,进展的速度是我自己也没有想到的,很多园友都积极参与(虽然有些人诚心砸场子,要是以我以前的宝脾气,这会应该被我打住院了吧,不过幸好是少数,做一件事总有人说好,也有人 ...

  5. spring boot gradle build:bootRepackage failed

    When running 'gradle clean build' on my spring boot project (version 1.3.6.RELEASE) on windows 10 (a ...

  6. WPF中MeasureOverride ArrangeOverride 的理解

    1. Measure Arrange这两个方法是UIElement的方法 MeasureOverride ArrangeOverride这两个方法是FrameworkElement的方法,Framew ...

  7. 组件之间使用Prop传递数据

    <div id="example"> <father></father> </div> <script src="h ...

  8. 什么是https

    我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL ...

  9. Redis数据迁移方案

    场景 Redis实例A ---> Redis实例B,整库全量迁移 方案一: mac环境 brew install npm npm install redis-dump -g 针对RedisA: ...

  10. React+Node初尝试

    这是第一次写React和Node,选用的是前端Material-ui框架,后端使用的是Express框架,数据库采用的是Mongodb. 项目代码在:GitHub/lilu_movie 这是一个通过从 ...