1.配置Git SSH密钥
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在操作之前,需要先在服务器上生成SSH key。 我们先去根目录下使用命令:
1 2
| $ cd ~ $ ssh-keygen -t rsa
|
这里会要你命名密匙名称(这里建议使用默认名称),然后连续按几次Enter,这时候会在/root/.ssh文件夹生成2个ssh密钥,然后我们查看公钥id_rsa.pub。
查看后,再复制下公钥,然后打开Github官网,进入https://github.com/settings/ssh/new, Title随便填,然后Key填入刚刚复制的密匙,最后点击Add SSH Key添加即可。
2.建立私人仓库
我们需要先访问 https://github.com/new, 新建一个仓库用来存放备份文件,名称自己随意,记得下面一定要勾选Private,也就是私人仓库。
3.配置本地仓库
需要备份文件夹为/www/wwwroot/blog,也就是把该文件夹定为本地仓库,使用命令:
进入需要备份的文件夹
初始化github仓库
关联到远程github仓库
1
| git remote add origin git@github.com:findthewayxf/blog.git
|
删除仓库git remote rm origin……
4.初次备份
修改邮箱地址访问https://github.com/settings/emails, 将Block command line pushes that expose my email的勾去掉。设置你的github邮箱
进入备份的文件夹
把目录下所有文件更改状况提交到暂存区,包括增,删,改。
关联邮箱地址
1
| git config --global user.email "findthewayxf@gmail.com"
|
提交更改的说明,说明随意了,这里为backupblog
1
| git commit -m "backupblog"
|
开始推送到Github
1 2
| git push -u origin master git push -f ...
|
5.设置定时备份 在根目录先新建一个bash脚本:
代码如下:
1 2 3 4 5
| #!/bin/bash cd /www/wwwroot/blog git add -A git commit -m "backupblog" git push -u origin master
|
然后编辑好了后,使用ctrl+x,y保存退出。再测试下脚本,使用命令:
脚本没问题的话,再设置为每天05:15执行一次,并将运行日志输出到根目录的backupblog.log文件
1 2 3
| echo "15 05 * * * bash ~/gitback.sh > ~/siteback.log 2>&1 &" > bt.cron crontab bt.cron rm -rf bt.cron
|
6.git语法说明
1 2 3 4 5 6 7 8
| $ git branch -a
$ git branch -d <BranchName>
$ git push origin --delete <BranchName>
$ git checkout master
|
把本地的dev分支强制(-f)推送到远程master
1
| git push origin dev:master -f
|
1
| git push origin --delete <branchName>
|
1
| git push origin --delete tag <tagname>
|
1
| git push origin master --force
|
或
1
| git push origin master -f
|
1 2
| git remote rm origin git remote add origin https://github.com/findthewayxf/xxx.git
|
1 2
| git reset --hard <commit_id> git push origin HEAD --force
|