Git学习总结

203 阅读4分钟

Git的基本操作

Git安装教程看这里

创建版本仓库

在要创建版本仓库的地方,右键弹出的对话框中,点击Git Bash Here,在命令行中输入git init命令创建版本仓库,如图所示:

版本库(或仓库)可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

注意:创建版本库的路径不能有中文

添加文件到版本库

首先在d/GitTest目录下创建一个文件,这里创建一个readme.txt文件来记录双十一要买的东西,内容如下:

购物清单
1. 第一行代码
2.Android开发艺术探究

保存文件后,在命令行中输入git add .添加文件到仓库,如下图:

git add 文件名是添加单个文件到仓库,而git add .是添加所有文件到仓库

提交文件到仓库

使用git commit命令,提交添加的文件,如图:

-m参数是本次提交的说明

如果你没有这个参数,Git也会要求你添加本次提交的说明。现在由于我们已经提交,不能重复提交,所以要修改下readme.txt文件(添加3.现代操作系统这一项),重新提交(不使用-m)后如下图Git要求你添加本次提交的说明:

  1. 按下i键,切换到编辑模式(最开始是命令行模式)
  2. 填写本次提交的说明
  3. 在输入完成后别按回车,而是要按 ESC 键返回到命令模式
  4. 连续输入两个大写的 "Z"(用 Shift 键或 Capslock 键都可以),就保存并退出了

成功后结果如图

推荐直接使用-m参数,要简单很多。

回退版本

  • 查看提交信息

使用git log命令查看提交的信息,如图:

图中commit 9f3eb0ea2b3d1437f1b242957aa21fd4afa25ef8中的9f3eb0ea2b3d1437f1b242957aa21fd4afa25ef8commit id(版本号),用来区分各个版本

  • 回退到上一个版本

如果我想回到第一次提交时的购物清单,那么我就可以使用git reset命令来实现,例如

git reset --hard HEAD^   //回退到上一个版本

git reset --hard HEAD^^ //回退到上上一个版本

HEAD表示当前版本,也就是最新的提交。可以用git reset --hard HEAD^表示上一个版本,或者用HEAD~1表示上一个版本。

结果如图:

  • 回退到指定版本

我们可以使用git reset --hard commitId(commitId是版本的id)回退到指定版本。比如我要回退到第二次提交时的版本,那我就可以使用git reset --hard 9f3eb0回退到第二次提交时的版本。9f3eb0是第二次提交的commitId的前几位,Git会通过这个来寻找指定的版本,如图回退到第二次提交时的版本:

工作区和暂存区

工作区:就是在电脑里能看到的目录
暂存区:使用git add命令把文件修改添加到的区域

修改readme.txt文件,添加一条4.算法导论。此时使用git status查看修改,如图:

显示修改没有添加到暂存区。使用git add .后,再使用git status结果如图,修改被添加到暂存区。

git commit是提交暂存区中的修改,如果修改没有被add进入暂存区,那git commit命令就不能把修改提交

撤销修改

  • 工作区的修改

当我们修改文件时,发现出错了,此时还未将修改添加到暂存区,就可以使用git checkout -- file来撤销操作。

  • 暂存区的修改
  1. 使用git reset HEAD file把暂存区的修改回退到工作区
  2. 使用git checkout -- file来撤销工作区的修改。

如果已经提交,那就只能通过上面的版本回退的方式

参考: