Git学习总结(一):本地操作
2017-03-16 18:52
295 查看
Git是目前世界上最先进的分布式版本控制系统,以其方便的版本控制、允许个人电脑操作的优势、以及强大的分支管理而备受关注。
在windows上:从https://git-for-windows.github.io下载,然后默认安装。
打开Git Bash,在合适的目录下创建一个文件夹:
用
先用命令
再用命令
在成功添加并提交文件后,可运行
说明:在git的版本库中(文件中的.git文件),包括暂存区(stage)和当前工作的分支(master)等。第一步是用
在git中用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,第前100个版本可以写为HEAD~100。
可以用
当我们退回几个版本后,也可以用同样的命令回到已经退过的版本(此时的未来版本),不过这时就需要commit id(版本号)了,当然commit id也不用写全,有前几位就好了。
如果已经关闭了命令窗口,还可以用
只要没有删除版本就可以这样操作,因为当前HEAD只是指向这些版本的指针。
第一种:修改后还没有被放到暂存区,也就是还没有
第二种:已经添加到暂存区后,又作了修改,这时先用命令
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
也就是说
下一次将介绍GitHub、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的远程操作及分支管理。
相关文章推荐
- git学习总结(二)本地git仓库的相关操作
- git 学习使用总结一(本地操作)
- 【Git学习笔记】Github与本地仓库的交互操作
- Git总结(1)—优势&安装&原理&本地操作命令&分支&协作&标签&自定义配置
- Git学习总结---命令操作
- git学习 本地常用操作01
- Git学习总结(二):GitHub、Git的远程操作
- 码云以及git操作学习总结
- Git学习笔记(4)----基本操作及命令(本地仓库篇)
- git学习总结(2)基本操作
- git 学习使用总结三(远程仓库操作)
- Git学习总结(11)——Git撤销操作详解
- Git学习系列(二)创建本地仓库及文件操作
- git学习和使用(一) 本地版本库的操作
- (ubuntu 16.04) Git 本地仓库简单操作学习 (一)
- (ubuntu 16.04) Git 本地仓库简单操作学习 (二)
- Git学习笔记(一)--本地操作
- Git学习-本地版本库的创建与简单操作
- Git学习总结(11)——Git撤销操作详解
- git 学习使用总结二(远程仓库操作)