Hexo 蛮久了,但一直都是很傻的在本地生成好了页面后,用 FTP 东西传到虚拟主机档浞冬每次传输都耗时蛮久档浞定覆盖、跳过文件太多了),于是打算用 Git-FTP 来安放,毕竟 Git 版本办理是很富强的。

安装 git-ftp

在 git bash 履行

$ curl -V
curl  (x86_64-w64-mingw32) libcurl/ OpenSSL/ libssh2/ nghttp2/ 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

然後再執行

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 -h 检测能否安装成功,呈现如下图阐明安装成功,ctrl+z 封闭。

创建 git 客栈

在你要上传至 FTP 的文件夹目录,利用 git bash 运转 git init,在文件夹中生成一个暗藏的 .git 文件夹,包含了该客栈的一些设置。

设置 git config

在你的客栈下 .git 目录下有个 config 文件,表面必要设置下:

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

假如你只想同步本地目錄中的某一個文件夾時,可能這麽设置:

git config git-ftp.syncroot ./dowob/assets 目錄根據本人結構定。

安装 lftp

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

在 git bash 中履行:

chcon install lftp --version 

安放代码到 FTP

1、起首執行 git add . ,將你想要安放的文件提交到暫存區,但此時文件並沒有真正進入到版本庫當中,文件现在只處于一個中間狀態。

2、再執行 git commit,將暫存區文件提交到版本庫中。

因为git的分支必需指向一个commit,不任何commit就不任何分支,提交第一个 commit 后 git 主动创建 master 分支。(git branch :检查本地分支;git branch -a :检查本地及遠程倉庫的分支)

3、執行 git ftp init,上传全部提交到远程并创建 .git-ftp.log。

4、以後有修改的話就執行 git ftp push,安放到 FTP 上。


假如此時增加一行文字到welcome.txt

$echo “hello” >> welcome.txt

此时文件产生了修傅浞冬假如盼望将修改后的文件提交至版本库,必需先git add将修改后的文件存入暂存区,再git commit将文件从暂存区提交至版本库才可能,这跟svn有很大年夜的差别,SVN在增加新文之后每次修改的文件直接commit就可能了。

git add .
保存新的增加跟修傅浞冬但是不包含刪除(將文件的修傅浞冬文件的新建,增加到暫存區)。會監控任务區的狀態樹,利用它會把任务時的全部變化提交到暫存區,包含文件內容修改(modified)以及新文件(new),但不包含被刪除的文件。
git add -u
保存修改跟删除,但是不包含新建文件(将文件的修改、文件的删除,增加到暂存区)。仅监控曾经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
git add -a
保存全部的修傅浞定将文件的修傅浞冬文件的删除,文件的新建,增加到暂存区)。是下面两个功能的合集(git add --all的缩写)

許多人已經將他們的文件上傳到服務器。假如要將上載版本標記爲與本地分支雷同:
git ftp catchup
此示例省略了以下选项--user, --password跟url。请参阅下面的默许值,以懂得怎样存储你的设置,如许你就不必要反复设置了。
存儲上傳提交的提交id後,init或catchup然後,你可能上傳任何新的提交:
git ftp push
假如你在上一次上传的版本中发明白一个 bug,并且盼望前去三次提交:
git checkout HEAD~3
git ftp push
或许有些文件在办事器上产生了变换,你盼望在分支之间上载全部变换。master 分支 develop:

git checkout develop         #这是上传的版本。
git ftp push --commit master #上传变换与母版比拟。
Last modification:August 12, 2020
假如覺得我的文┞仿對你有效,請隨意贊賞