美文网首页
Git 命令复习

Git 命令复习

作者: AppleTTT | 来源:发表于2017-11-21 17:36 被阅读18次

虽然使用 SourceTree 来进行版本管理是不错的,但是最近事情不多,就学习下 Git 的命令行,顺便复习一波,感觉也不错,蛮方便的。现在记录如下:

名词解释

1. 版本回退:Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把HEAD从指向指定的 commit_id;
2. 工作区(Working Directory):就是你在电脑里能看到的目录,比如下面我们创建的learngit文件夹就是一个工作区;
3. 版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库;Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD,如下图:
git工作区域.jpeg
们把文件往Git版本库里添加的时候,是分两步执行的:
    * 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
    * 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

命令行

1. 安装git :sudo apt-get install git
2. 创建版本库:cd 到目录,git init
3. 把文件添加到仓库:git add
4. 把文件提交到仓库并说明提交内容:git commit -m "XXX"
5. 显示从最近到最远的提交日志:git log
6. 每次提交一行显示:git log --pretty=oneline
7. 回退到上一个版本:git reset --hard HEAD^
8. 回退到指定版本:git reset --hard commit_id
9. 记录操作的每一次命令:git reflog(会显示commit_id)
10. 查看工作区当前状态:git status
11. 查看工作区和版本库里面最新版本的区别:git diff HEAD -- readme.txt
12. 撤销修改(add 前):git checkout -- file_name,没有--就变成了“切换到另一个分支”的命令,撤销修改就回到和版本库一模一样的状态
13. 撤销修改(add 后):git reset HEAD file_name,可以把暂存区的修改撤销掉(unstage)
14. 添加远程仓库:git remote add origin XXX,其中 XXX 为仓库地址
15. 把本地库的所有内容推送到远程库上:git push -u origin master,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,使用 git push origin master
16. 从远程库克隆:git clone XXX ,其中 XXX 为仓库地址
17. 查看当前分支:git branch
18. 切换分支:git checkout 分支名
19. 创建dev分支,并切换到dev分支:git checkout -b dev
20. 合并指定分支到当前分支:git merge(禁用fast-forward:git merge --no-ff -m "merge with no-ff" dev)
21. 删除分支:git branch -d <name>
22. 分支合并图:git log --graph (git log --graph --pretty=oneline --abbrev-commit)
23. 把当前工作现场“储藏”起来:git stash
24. 查看“暂存列表”:git stash list
25. 恢复暂存区域:git stash apply,恢复后stash内容并不删除
26. 恢复暂存区域:git stash pop,恢复后stash内容删除
27. 删除暂存区域:git stash drop
28. 恢复指定的stash: git stash apply stash@{0}
29. 强行删除分支:git branch -D 分支名
30. 查看远程库的信息:git remote(git remote -v 显示更详细的信息)
31. 推送分支:git push origin master,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上
32. 新建一个标签:git tag <name>,默认为HEAD,也可以指定一个commit id
33. 指定标签信息:git tag -a <tagname> -m "blablabla..."
34. 用PGP签名标签:git tag -s <tagname> -m "blablabla..."
35. 查看所有标签:git tag
36. 查看标签的说明文字:git show <tagname>
37. 推送一个本地标签:git push origin <tagname>
38. 推送全部未推送过的本地标签:git push origin --tags
39. 删除一个本地标签:git tag -d <tagname>
40. 删除一个远程标签:git push origin :refs/tags/<tagname>

其他命令行:

1. ls -ah:可以看见隐藏的文件

学习链接

廖雪峰的 git 教程
git命令基本使用以及别名设置
小专栏的 git 教程
Git命令进阶篇
git 官方

相关文章

  • Git 命令复习

    虽然使用 SourceTree 来进行版本管理是不错的,但是最近事情不多,就学习下 Git 的命令行,顺便复习一波...

  • git 命令复习

    代码提交一般有五个步骤: 1.查看目前代码的修改状态 2.查看代码修改内容 3.暂存需要提交的文件 4.提交已暂存...

  • Git命令复习

    最近开发需要用到一些版本管理的工具,对git中的有些命令生疏了,重新复习一下。参考学习的是廖雪峰Git教程、菜鸟教...

  • git 命令复习

    一段时间没碰 git 了,这里复习并记录一下~~~ 区域:工作区 = (add) => 暂存区 =(commt)=...

  • git宝典—应付日常工作使用足够的指北手册

    最近公司gitlab又迁移,一堆git的命令骚操作,然鹅git命令,感觉还是得复习下——其实,git现在界面操作工...

  • source tree和git命令的关系

    source tree用多了,发现命令都忘记了,在此复习: 常用的git命令 git 全局设置: 本地仓库初始化:...

  • Github学习文档-3

    目录 1.Git 的基本的命令git init命令git status命令git add命令git commit命...

  • 版本管理(二)

    上一篇复习了版本管理工具SVN,现在开始Git。 git是一款开源的分布式版本控制工具 git常用命令 $ git...

  • Git学习路线

    1. 掌握常用的linux命令 2. 掌握常用的git命令 (廖雪峰教程,通过博客记录学习总结,定期复习) 3. ...

  • git实用命令

    git实用命令 1 git init 命令 初始化 git 仓库 repository 2 git add 命令 ...

网友评论

      本文标题:Git 命令复习

      本文链接:https://www.haomeiwen.com/subject/sabwvxtx.html