之后出现修改找不到的问题
又出现文件修改颠倒问题。
原理:
当执行git add “file”添加到暂存器,然后执行git
commit提交到本地库的时候,git需要在commit的时候在日志中写入一个唯一标识提交的SHA-1值,即是Change-Id值 git
commit时会调用commit_msg脚本检查提交信息,以便在git
push的时候能正常推送到远程库。此时调用默认目录下的commit_msg钩子脚本,默认目录为“git/hooks/commit_msg”
如果此目录下无commit_msg脚本则commit时提交日志中无ChangeId信息,则在git
push的时候出错,无法正常吧改动上传到远程服务器
如果 git log --graph 看不到commit的话
可以 git reflog 查看过去的提交。找到那个commit ID
再用 git reset --hard ID 回到那个版本。
之后如果push 提示一个 no change-ID问题
解决方法1:
方法一:
1>复制Change-Id:Ifbea87a6358d55a189528a5f501492c37bdfec21
2>执行gitdir=$(gitrev-parse--git-dir);scp-p-P29418HostName@1921687711:hooks/commit-msg${gitdir}/hooks/ 从服务器拷贝commit-msg脚本到git/hooks/目录下
3>执行gitcommit--amend重新修复提交,把第一步中的Change-Id:Ifbea87a6358d55a189528a5f501492c37bdfec21黏贴到提交日志的下一行。
4>重新执行gitpush推送本地改动到远程服务器
方法二:
如果上面你的git commit --amend 进入vim出现一个e325
目前我还没解决,这样只能找到以前的一个版本了。比较早回退到那里 。
git reset --soft id
git stash
git pull
git stash pop
git gui
进入gui 再把修改的文件重新commit一下
最后git push。
先搞明白Hexo博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的 *** 作。
不然只跟着步骤过了一遍,却不知道为什么这么做。
首先看这张架构图:
整个流程就是本地将 md 渲染成静态文件,然后Git推送到服务器的 repository ,服务器再通过 git-hooks 同步网站根目录。
前提条件: 腾讯云服务器
第一部分 : 服务器环境搭建,包括安装 Git 、 Nginx 配置 、创建 git 用户 。
第二部分 : 本地 Hexo 初始化, 包括安装 NodeJS 、 hexo-cli , 生成本地静态网站
第三部分 : 使用Git自动化部署发布博客
NodeJS 安装可以参考: Linux安装NodeJS
找到以下内容
在下面添加一行
保存退出后改回权限
随后设置Git用户的密码,
切换至git用户,创建 ~/ssh 文件夹和 ~/ssh/authorized_keys 文件,并赋予相应的权限
然后就可以执行ssh 命令测试是否可以免密登录
至此,Git用户添加完成
我是用的是lnmp 一键安装包,nginx安装教程一大堆,就不再叙述。主要看nginx配置。
找到nginx的配置文件,修改配置如下:
首先要安装 hexo-cli ,安装 hexo-cli 需要 root 权限,使用 sudo 运行
然后初始化Hexo程序
等执行成功以后安装两个插件, hexo-deployer-git 和 hexo-server ,这俩插件的作用分别是使用Git自动部署,和本地简单的服务器。
hexo-deployer-git帮助文档
hexo-server帮助文档
使用 hexo new <文章名称> 来新建文章,该命令会成成一个 md 文件放置在 sources/_posts 文件夹。
编辑完毕以后, 使用 hexo g 将 md 文件渲染成静态文件,然后启动 hexo-server :
现在便可以打开浏览器访问 >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)