Git复习之使用

Posted kunmomo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git复习之使用相关的知识,希望对你有一定的参考价值。

创建版本库

git init

进入一个文件,执行该命令此时目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。如果你没有看到.git目录,那是因为这个目录默认是

隐藏的,用ls -ah命令就可以看见。

添加文件到Git仓库

第一步:添加到暂存区

git add xxx

xxx可以是“.”表示所有文件,也可以是指定的文件名,该命令可反复多次使用,添加多个文件

第二步:提交到仓库

git commit -m "xxx"

xxx是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

执行完该命令可能会提示:

  • 1 file changed:1个文件被改动

  • 2 insertions:插入了两行内容

??如果不用git add到暂存区,那就不会加入到commit

查看当前工作区的状态 

git status

执行完该命令可能会提示: 

  • Changes not staged for commit(还没有准备提交的修改)

查看修改内容

情况一:查看当前文件的修改

git diff xxx

xxx想要查看修改的文件名

情况二:查看当前版本和版本库最新版本的区别

git reset HEAD -- xxx

xxx想要查看修改的文件名

查看提交历史

git log 

命令显示从最近到最远的提交日志,可以通过git log来确定要回退到哪个版本

git log --pretty=oneline

嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数

??你看到的一大串类似1094adb...的是commit id(版本号)

版本回退(已经commit,回到某一个commit)

git reset --hard xxx

xxx表示版本号或者HEAD

情况一:回退到上一个版本

git reset --hard HEAD^

情况二:回退到上上一个版本

git reset --hard HEAD^^

情况三:回退到上100个版本

git reset --hard HEAD~100

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较

容易数不过来,所以写成HEAD~100

情况四:回退到回退之前的版本

git reset --hard xxx

xxx是想要回退的那个版本的commit id(版本号),其余三个情况也可以不使用HEAD,使commit id

两种方法取到该版本号:

  • 只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊

  • 使用git reflog查看命令历史找到该版本号

撤销修改

情况一:已修改,未暂存,回退到最近一次commit(修改看不见了)

git checkout -- xxx

xxx可以是“.”也可以是指定文件名,此操作其实就是丢弃对工作区的修改

情况二:已修改,已暂存,回退到最近一次add

git checkout -- xxx

xxx可以是“.”也可以是指定文件名,这种情况是git add后又做了修改,想要回退到add

情况三:已修改,已暂存,未提交,回退到工作区(修改保留在工作区)

git reset HEAD xxx

xxx可以是“.”也可以是指定文件名,此时可以使用git checkout丢弃对工作区的修改

情况四:已修改,已暂存,已提交,回退到上一个commit

git reset --hard HEAD^

从版本库删除文件

git rm xxx

xxx是文件名,命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

删除文件

rm xxx

xxx是文件名,只是删除本地

接下来有两个选择:

  • 确实要从版本库中删除该文件:git rm xxx -> git commit

  • 删错了恢复到最新版本:git checkout -- xxx

查看命令历史

git reflog

关联本地仓库和远程仓库

 

git remote add origin xxx

 

xxx是远程仓库地址

从远程库克隆

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于Git复习之使用的主要内容,如果未能解决你的问题,请参考以下文章

Git复习之简介安装集中式和分布式

Git复习之简介安装集中式和分布式

Git复习之远程仓库注册GitHub账号SSH警告

Git复习之远程仓库注册GitHub账号SSH警告

软件构造复习——关于Git的一点复习

git最佳实践之feature和hotfix分支