使用 Git 也有好长好长时间了,但一直都是使用一些管理工具,例如 Android Studio 自带的管理器,亦如 XCode 内置的管理器,却没有系统的整理过,今天把一些常用的命令整理一下,备查
文件操作相关命令
git init
-- 创建版本库
git status
-- 查看当前仓库状态
git diff <file>
-- 查看当前工作区与暂存区的文件差异
git diff HEAD -- <file>
-- 查看当前工作区与最新的版本库中的文件差异
git add <file>
-- 添加文件到暂存区
git rm <file>
-- 将工作区的文件从 Git 中删除,执行删除指令之后也需要执行 commit
操作才能将版本库中的文件同步删除。
误删除可以通过 git reset --hard HEAD
指令来从版本库中恢复文件,该命令针对已经提交到版本库的情况使用。
如果没有提交到版本库,而是add
到工作区中,但不小心删除了某个文件,这时使用git checkout -- <file>
来恢复文件。
如果你的某个文件既没有添加到版本库,又没有添加到暂存区,还被误删除的话,好像可以花点钱请专业人员做下数据恢复,但是好像价格不菲,不想 Git 一下免费使用 (〃'▽'〃)
git commit
-- 提交文件
git log
-- 查看提交记录
git log --pretty=oneline
-- 使用单行的形式查看提交记录
git log --graph
-- 查看分支合并图,可以组合 --pretty=oneline
使用
git reflog
-- 显示当前工作目录下的所有 Git 操作记录
git reset --hard HEAD^
-- 回退到上一个版本
git reset --hard <commit_id>
-- 回退到指定的版本
git reset HEAD <file>
-- 丢弃 add
到暂存区的修改
git checkout -- <file>
-- 丢弃工作区中已修改的文件
分支管理
git branch
-- 查看所有分支,当前分支前面使用 *
标记
git branch <branch>
-- 创建分支
git checkout <branch>
-- 切换分支
git checkout -b <branch>
-- 创建分支并切换到新创建的分支中
git merge <branch>
-- 合并分支
git branch -d <branch>
-- 删除分支
git merge --no-ff -m "commit message" <branch>
-- 强制禁用 Fast forward 模式合并分支
git stash
-- 保存当前工作现场
git stash list
-- 查看当前所有以保存的工作现场
git stash apply <stash@{index}>
-- 恢复工作现场,可以不指定 stash@{index}
,默认使用index
为0
的记录
git stash drop <stash@{index}>
-- 删除工作现场,可以不指定 stash@{index}
,默认使用index
为0
的记录
git stash pop
-- 恢复并删除,可以不指定 stash@{index}
,默认使用index
为0
的记录
git stash 命令中最后添加的记录索引最小
其他指令
git remote -v
-- 查看远程库的信息
git push origin <branch_name>
-- 推送到远程分支
git pull <remote> <branch>
-- 抓取远程分支到本地
git tag
-- 查看所有标签
git tag <tagname>
-- 为当前分支下最新的提交记录设定标签
git tag <tagname> <commit_id>
-- 为指定的提交记录设定标签
git tag -a <tagname> -m "blablabla..."
-- 为标签添加额外信息
git tag -d <tagname>
-- 删除标签
git show <tagname>
-- 查看标签信息
git push origin <tagname>
-- 推送指定标签到远程仓库
git push origin --tags
-- 一次性推送全部尚未推送到远程的本地标签
git push origin :refs/tags/<tagname>
-- 删除远程标签
小结
Git 强大归强大,如果不能够长期使用也就是一个冰冷的工具。
而且在这个工具化的年代,我们至少需要了解集成开发环境的IDE中提供的 Git 工具的工作原理是怎么样的,不然出问题之后会不知所措就不是一个程序员该有的表现了
ヾ(≧∇≦*)ゝ
<img src="https://ww4.sinaimg.cn/large/a15b4afegy1fcgqhy4n5yj202k03kmwx">
这是参考 handsome 主题做的,图片表情包是用新浪做的图床
打赏模块,扒一下,比我弄的那个好看多了(눈_눈)
请教下博主,你的tale模板是咋搞定图片表情包的(눈_눈)
解析img标签? OWO是解析了json <img src="https://ww4.sinaimg.cn/large/a15b4afegy1fcgqhtst77j201q028we9">