关于 Git 命令的整理

Git Logo

使用 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},默认使用index0的记录

git stash drop <stash@{index}> -- 删除工作现场,可以不指定 stash@{index},默认使用index0的记录

git stash pop -- 恢复并删除,可以不指定 stash@{index},默认使用index0的记录

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 工具的工作原理是怎么样的,不然出问题之后会不知所措就不是一个程序员该有的表现了

最后修改:2018/06/03 15:08
如果觉得我的文章对你有用,请随意赞赏

5 条评论

  1. 666

    ヾ(≧∇≦*)ゝ

  2. 123

    <img src="https://ww4.sinaimg.cn/large/a15b4afegy1fcgqhy4n5yj202k03kmwx">

  3. HONGQUAN

    这是参考 handsome 主题做的,图片表情包是用新浪做的图床

  4. Forest+Blog

    打赏模块,扒一下,比我弄的那个好看多了(눈_눈)

  5. Forest Blog

    请教下博主,你的tale模板是咋搞定图片表情包的(눈_눈)

    解析img标签? OWO是解析了json <img src="https://ww4.sinaimg.cn/large/a15b4afegy1fcgqhtst77j201q028we9">

发表评论

颜文字