Git学习总结(一):本地操作

Git是目前世界上最先进的分布式版本控制系统,以其方便的版本控制、允许个人电脑操作的优势、以及强大的分支管理而备受关注。

安装:

在linux上直接执行:

sudo apt-get install git

在windows上:从https://git-for-windows.github.io下载,然后默认安装。

创建版本库:

注:在进行任何Git操作之前,都要切换到Git仓库目录
打开Git Bash,在合适的目录下创建一个文件夹:

$ mkdir learngit
$ cd learngit

git init 命令把这个目录变成Git可以管理的仓库。

一些基本的命令:

再创建好文件后,
先用命令git add <file>告诉Git,把文件添加到仓库,
再用命令git commit告诉Git,把文件提交到仓库

$ git commit -m "描述文件的说明"

在成功添加并提交文件后,可运行git status命令看看结果:而git diff <file>可以查看具体修改了那些内容,然后就可以放心提交了。不过这两个命令要在git commit之前,因为git diff只能比较提交之前的文件。
说明:在git的版本库中(文件中的.git文件),包括暂存区(stage)和当前工作的分支(master)等。第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。而git status就是查看暂存区的状态,当我们git commit之后,再git status就没有内容了。

版本回退:

git log命令可查看历史记录,其中的commit为版本号,每当提交一次代码后,git就会给这个版本生成一个commit。
git log --pretty=oneline 加这个参数来查看简略的历史记录,包括commit id(版本号)和提交的说明。
在git中用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,第前100个版本可以写为HEAD~100。
可以用git reset退回指定版本:

$ git reset --hard HEAD^

当我们退回几个版本后,也可以用同样的命令回到已经退过的版本(此时的未来版本),不过这时就需要commit id(版本号)了,当然commit id也不用写全,有前几位就好了。

$ git reset --hard 版本号

如果已经关闭了命令窗口,还可以用git reflog来查看已经执行的命令来寻找版本号。
只要没有删除版本就可以这样操作,因为当前HEAD只是指向这些版本的指针。

撤销修改:

当我们修改了文件,或者在git add 之后修改了文件(git mommit 之后就只能退回版本了),可以通过命令来撤销操作。这里有两种情况:
第一种:修改后还没有被放到暂存区,也就是还没有git add,现在,撤销修改就回到和版本库一模一样的状态,执行命令:git checkout -- file
第二种:已经添加到暂存区后,又作了修改,这时先用命令git reset HEADfile可以把暂存区的修改撤销掉,再执行git checkout -- file

删除及撤回

当rm文件之后,版本库里的文件还存在,可以用命令git rm 删掉,并且git commit 删除版本库的文件:

$ git rm test.txt
$ git commit -m "remove test.txt"

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

$ git checkout -- file

也就是说git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

下一次将介绍GitHub、Git的远程操作及分支管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值