Git的使用
1.git的作用:
创建一个仓库,管理仓库中的文件。跟踪每个文件的修改,删除。可以还原到某个历史版本。
2.git的核心指令
以linux为例,这里懒得贴图了,哈哈。
(1)创建一个版本库
$mkdir file_name
$cd file_name
$git init
建好了一个空的git仓库,Ctrl+H可以看到多了一个.git的目录。没事不要动这个目录。
(2)把文件添加到版本库。
写一个awesome_git.txt,现在把该文件添加进git仓库。
$git add awesome_git.txt
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。add可以连续添加多个文件。
$git commit -m "information about your file"
-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
(3)查看仓库的状态
显示被修改过的文件
$git status
(4)查看具体的修改
查看file_name.txt被修改的具体内容。
$git diff file_name.txt
(5)版本回退
在实际工作中,我们脑子里怎么可能记得一个几千行的文件每次都改了什么内容,不然要版本控制系统干什么。版本控制系统肯定有某个命令可以告诉我们历史记录,在Git中,我们用git log命令查看:
$git log
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数:
$git log --pretty=oneline
或者:
$git log --oneline
结果你会看到的一大串类似1094adb…的是commit id(版本号),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示,而且你看到的commit id和我的肯定不一样,以你自己的为准。为什么commit id需要用这么一大串数字表示呢?因为Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了。
这个commit id是有用处的,可以通过它回到指定的版本:
$git reset --hard 1094a
1094a是一个commit id的前几位。版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。
如果只是想退回上一个版本的话,可以简单的用:
$git reset --hard HEAD^
当你退回了旧版本,但第二天又后悔了,想用新版本,咋整?
那你就必须找到新版本对应的commit id。使用命令:
$git reflog
它记录的你每次使用的命令,从他的输出可以找到新版本的commit id.
拥有git,你就拥有了代码仓库的时光机!