基本命令
本地
必备操作
基本
初始化 repository
git init
添加变动到 stage
git add <filename>
提交变动
git commit -m "some comment ..."
分支
查看分支
git branch
创建分支
git branch <name>
切换分支
git checkout <name>
创建+切换分支
git checkout -b <name>
合并某分支到当前分支
git merge <name>
删除分支
git branch -d <name>
辅助操作
查看当前仓库的状态
git status
查看文件的不同
git diff <filename>
回到哪个版本
git reset --hard commit_id
查看提交历史(图形化), 以便确定退回到哪个版本
git log --graph
重返未来
git reflog
把文件在工作区的修改全部撤销
git checkout -- <filename>
git reset HEAD
git rm
高级操作
工作现场
git stash
git stash pop
分叉的历史整理成直线
git rebase
标签操作
基本操作
新建一个标签, 默认为
, 也可以指定一个 commit IDgit tag <tagename>
tag 时指定标签名, 指定描述
git tag -a <tagname> -m "describ ..."
查看所有标签
git tag
高级操作
推送一个本地标签
git push origin <tagname>
推送全部未推送过的本地标签
git push origin --tags
删除一个本地标签
git tag -d <tagname>
删除一个远程标签
git push origin :refs/tags/<tagname>
远程操作
关联一个远程库
git remote add origin git$server-name:path/repo-name.git
推送 (我们第一次推送master分支时,加上了-u参数,Git不但会把本地的 master分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远 程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令)
git push -u origin master
克隆
git clone
实践一: 博客备份
本地操作
进入到博客的根目录, 一定要记得先删除主题文件夹下的 .git/ 文件夹, 不然就会产生 submodules , 从而导致无法 commit 主题. 比如要备件 next 主题
rm -r themes/next/.git/
这时就可以初始化 git了
git init
然后添加所有的文件到 stage
git add .
检察有没有问题
git status
结果一片绿就没有问题了!
接下来提交备份
git commit -m "first backup"
想备份到和 githubpages 一个 repository , 所以要另外建一个分支, 名为 backup
git checkout -b backup
备份到 github
与 github 关联
git remote add origin git@github.com:phyer219/phyer219.github.io.git
将本地的 backup 分支推到 github
git push origin backup
备份完成!
以后每次备份都直接
git add .
git commit -m "new blog ..."
git push origin backup
即可完成备份!
恢复
备份好以后, 如果在另一台设备上(已经安装好 hexo)恢复, 首先到一个要恢复的文件夹, 然后 clone 下来 backup 分支
git clone -b backup git@github.com:phyer219/phyer219.github.io.git
执行
npm install
然后本地测试是否备份成功
hexo s
以后每次从 back up 中更新直接
git pull
即可!
Reference
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000