Git学习总结
Git是目前世界上最先进的分布式版本控制系统。它可以很方便的自动记录每次文件的改动,还可以多人协作编辑,这样就可以自己管理一堆类似的文件,不需要将文件传来传去。如果想查看某次改动,只需在软件里看一眼即可,非常方便。我是跟着廖雪峰的教程学的,链接如下。本篇博客是对学习的一个总结。
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
1.git的安装
我使用的是ubuntu,因此使用sudo apt-get install git就可以直接安装
2.创建版本库
mkdir learngit //创建一个空目录
cd learngit //切换到刚刚创建的目录里面
pwd //显示当前目录
git init //git init将这个目录变成Git可以管理的仓库。创建好了会提示(empty Git repository)空的仓库,而且当前目录下多了一个.git目录。
3.把文件添加到版本库
编辑一个readme.txt文件,内容如下: //注意文件一定要放到learngit目录下,即Git仓库
Git is a version control system
Git is free software
git add readme.txt //把文件添加到仓库
git commit -m "wrote a readme file" //把文件提交到仓库,-m后面输入的是本次提交的说明,可以输入任何内容
注意:commit可以一次提交很多文件,所以可以多次add不同的文件。
4.查看
修改readme.txt
git status //查看结果,这个命令会提示readme.txt被修改过了(modified readme.txt)
git diff //查看具体修改的内容
提交修改和提交新文件是一样的两步:git add reame.txt和git commit -m "add something"。
5.版本回退
git log //显示从最近到最远提交的日志,可以加上--pretty=online将每个版本按行显示。注意前面的2345678..e1e0是版本号commit id
版本回退:
git reset --hard HEAD^ //回退到上一个版本,上上一个版本是HEAD^^,使用git log已经看不见最新的那个版本了
git reset --hard 3628164 //又回到最新的版本,3628164是最新版本的commit id的前几位
git reflog //记录每一次命令,可以查看版本的版本号commit id
6.撤销修改
git checkout --readme.txt //可以放弃工作区的修改,这里有两种情况:1.readme.txt自修改后还没有被放到暂存区,现在撤销修改就回到和原来版本库一模一样的状态;2.readme.txt已经添加到暂存区,又做了修改,现在撤销修改就回到添加暂存区后的状态。总之就是让这个文件回到最近一次git commit或git add时的状态
git reset HEAD file //可以把暂存区的修改撤销掉,重新放回工作区
7.删除文件
git rm file
git commit -m "remove file" //从版本库中删除文件并提交
如果删错了使用git checkout --file把误删的文件恢复到最新的版本,无论工作区是修改还是删除,都可以一键还原。但是只能恢复文件到最新版本,并且会丢失最近一次提交后修改的内容。