git-ftp 用git管理ftp空间
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空间的更多相关文章
- 使用Bandwagon服务器ftp解决git clone速度慢的问题
写在前面 git clone速度往往很慢,我们可以先在身处美国的服务器上git clone,然后把文件用ftp传回来即可. 开始 我们以opencv为例 git clone https://githu ...
- 使用GIT进行源码管理——GIT托管服务
虽然GIT是分布式代码管理,但是仍然需要一个集中存储服务以实现团队协作和代码备份的.对于企业的私有代码来说,大多是自建GIT托管服务.但对于开源项目和个人的私有项目,往往是选择一个GIT托管网站,这样 ...
- Git学习(一) 版本号管理工具
Git 是一个分布式版本号控制工具.它的作者 Linus Torvalds 是这样给我们介绍 Git -- The stupid content tracker(傻瓜式的内容跟踪器) 1. Git ...
- 使用GIT进行源码管理 —— 在VisualStudio中使用GIT
GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这个插件在VS2013中已经转正.本文在这里简单的介绍一下如何在Visu ...
- Git标签和别名管理
一.Git标签管理 标签类似于快照功能,可以给版本库打一个标签,记录某个时刻库的状态,也可以随时恢复到该状态 例如给master打一个v1.0的标签 先切换到master分支上去git checkou ...
- Git远程和分支管理
一.远程 Git是分布式版本控制系统,最重要的优点就是远程仓库托管代码.不用自己搭建一个服务器,在github上面注册一个账户就可免费获取远程仓库. 首先需要先在github上面 ...
- git@oschina.net源代码管理使用日记
git的优势: 1 可以创建分支: 2 版本控制是基于每一次提交的,而不需要考虑每次提交了多少个文件. 下载: 下载网址为:http://git-scm.com/download,根据您的操作系统选择 ...
- Git 远程仓库的管理和使用
要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...
- 【git学习二】git基础之git管理本地项目
1.背景 git基础打算分两部分来说,一部分是对于本地项目的管理,第二部分是对于远程代码仓库的操作. git运行本地项目管理包含对于相关文件的追踪,暂存区的比較分析,提交,撤销等功能. ...
随机推荐
- iOS 原生的 UIButton 点击事件是不允许带多参数的,唯一的一个参数就是默认UIButton本身 那么我们该怎么实现传递多个参数的点击事件呢?
UIButton *btn = // create the button objc_setAssociatedObject(btn, "firstObject", someObje ...
- Java豆瓣电影爬虫——模拟登录的前世今生与验证码的爱恨情仇
前言 并不是所有的网站都能够敞开心扉让你看个透彻,它们总要给你出些难题让你觉得有些东西是来之不易的,往往,这也更加激发你的激情和斗志! 从<为了媳妇的一张号,我与百度医生杠上了>里就有网友 ...
- wemall app商城源码Android中ViewHolder详细解释
1.ViewHolder的解释: (1).只是一个静态类,不是Android的API方法. (2).它的作用就在于减少不必要的调用findViewById,然后把对底下的控件引用存在ViewHolde ...
- 跨平台的.NET邮件协议MailKit组件解析
发起的.NET Core开源组织号召,进展的速度是我自己也没有想到的,很多园友都积极参与(虽然有些人诚心砸场子,要是以我以前的宝脾气,这会应该被我打住院了吧,不过幸好是少数,做一件事总有人说好,也有人 ...
- 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 ...
- WPF中MeasureOverride ArrangeOverride 的理解
1. Measure Arrange这两个方法是UIElement的方法 MeasureOverride ArrangeOverride这两个方法是FrameworkElement的方法,Framew ...
- 组件之间使用Prop传递数据
<div id="example"> <father></father> </div> <script src="h ...
- 什么是https
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实是有两部分组成:HTTP + SSL ...
- Redis数据迁移方案
场景 Redis实例A ---> Redis实例B,整库全量迁移 方案一: mac环境 brew install npm npm install redis-dump -g 针对RedisA: ...
- React+Node初尝试
这是第一次写React和Node,选用的是前端Material-ui框架,后端使用的是Express框架,数据库采用的是Mongodb. 项目代码在:GitHub/lilu_movie 这是一个通过从 ...