Git 命令集成
测试 GitHub 可访问性
ssh -T git@github.com
更新主分支(下载更新)
D: && D:\faradays-studio.github\faradays-studio.github.io && git checkout
更新其他分支(下载更新)
git checkout -b blog origin/blog
git checkout -t origin/blog提交到本地
git commit -a -m u”pdate the website statement”
提交到GitHub
git push origin master
基本用法说明
查看分支
git branch -a
git branch -v
git branch -r查看最近的 commit 信息
git show HEAD按 q 退出
git checkout -b <分支名>
git checkout -b blog从 服务器 下载更新到本地
由于 hexo 更新后,本地会版本落后,因此需要更新
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin master或 git pull origin master:master
git pull origin blog:blog
使用 git 管理主题的流程示意
``` sh
#克隆你fork出来的分支
$git clone <远程Arepository>
#添加远程B repository标签
$git remote add <远程B repository标签> git@github.com:XXXX/ceph.git
#从远程Brepository的master分支拉取最新objects合并到本地master分支
$git pull <远程B厂库标签> master:master
#切换到要修改的分支上
$git checkout YYYY
#在当前分支的基础上创建一个开发分支,并切换到该分支上,你将在该分支上coding
$git branch develop; git checkout develop
#在工作区coding
coding......
#将修改保存到索引区
$git add .
#将修改提交到本地分区
$git commit -a
#将本地分支my_test提交到远程A repository的my_test分支上
$git push origin my_test:my_test
```
hexo 博客删除部分 commit 的操作实践
经过 2 天半的来回测试,终于删除了上传了隐藏文件 hid*.html
文件的提交。
出现
HEAD detached at 68e8065
等错误的解决方法:# 给 blog 起个 branch 名 blog_temp1 git branch blog_temp1 blog git branch -a # Head 指向实际使用的 branch,注意不是 origin/blog git checkout blog # 融合到当前 branch git merge blog_temp1 合并时存在问题,如果以本地为准 git add,以服务器为准则 git rm XXXX,然后 git commit 再重新执行合并 # 删除临时 branch git branch -d blog_temp1
删除特定 commit (# 由于 hexo 自身存在一个版本库,因此需要进行相应的处理)
git log git rebase -i XXX # 将需要删除的最早的提交之前的一次提交做基础 将相关 commit 记录中的 pick 改为 drop,保存即实现本地删除。 git push origin blog -f # 强制提交本地版本到远程(实现远程删除) git status # 查看状态 git log --oneline git pull origin blog:blog git log --oneline cd D:\WebSites\faradays-studio.hexo\.deploy_git 执行上述过程,如出现 `HEAD detached ` 等报错,注意分支名称实际为 master, 执行 hexo 同步至远程
具体的操作过程:
# 从 GitHub 下拉取版本库,确保本地文件为最新 git pull origin blog:blog # 查看更新日志 git log 相关 log 文件使用 VI 的形式打开,因此可以按 shift + G 跳转到底,按 q 退出修改。 # 将需要删除的最早提交的前一次提交,设置为版本基础 git rebase -i 982c78fc82a2a3804233e9ff7ef315fc21dc0822 在弹出文件中,将会展示在该提交之后的每个提交信息 将相关 commit 记录中的 pick 改为 drop,保存即实现本地删除。 出现 `HEAD detached at 982c78f` 报警 # 查看当前分支情况 git branch -a # 将当前分支改名 git branch blog_temp1 blog # 解决由于删除造成的版本 merge 报警 git rm -r about git rm content.json git rebase --continue git commit git push origin blog -f # 合并分支 #git merge blog_temp1 # 重新对 Head 指向 branch(测试表明该步骤不能执行) # git checkout blog # 删除临时的版本 git branch -d blog_temp1 git log --oneline # git pull origin blog:blog 等命令无法对 hexo 的版本库进行更新,因此执行以下操作 # 删除 .deploy_git 文件夹,重新建立版本库理论可行。详见 https://github.com/hexojs/hexo-deployer-git 。 git rebase -i 982c78fc82a2a3804233e9ff7ef315fc21dc0822 # 查看状态 git status git rm -r about git rm content.json git rebase --continue git log git log --oneline #至此,各个版本完成更新,可以使用 hexo 重新生成一次,确保删除的文件被生成 hexo -d g # 查看本地版本日志 git log --oneline # 解决由于前边删除文件导致的版本文件数量不一致的问题 git pull -r # 下载网络更新到本地 git pull origin blog:blog # 检查更新情况后的版本日志 git log --oneline
参考文献
UniqueColor.
git chekout分支遇到问题:need merge
[EB/OL].https://www.cnblogs.com/UniqueColor/p/6594942.html, 2020/08/26.奔跑的小龙码.
git删除指定commit
[EB/OL].https://www.cnblogs.com/lwcode6/p/11809973.html, 2020/08/26.通过 add /rm 来指定本机处理措施,git commit -s,再 pull,再push
Jack_Chao.
Git 快速使用 之 冲突 merge 快速解决
[EB/OL].https://www.jianshu.com/p/50ef88bda474, 2020/08/26.星辰之力.
git push & git pull 推送/拉取分支
[EB/OL].https://www.cnblogs.com/zhujiabin/p/9641305.html, 2020/08/27.
最后更新: 2021/02/14 21:35:43
作者: David Faraday
主用链接: https://faradays-studio.gitee.io/202008261600/
备用链接: https://faradays-studio.github.io/202008261600/
许可协议: CC BY-NC-SA 4.0.