Git学习笔记 chapter01--Git介绍和基础操作
2017-07-20 10:17
363 查看
因为后来用了github,平时没怎么用到,git的一些命令渐渐忘记了。但是掌握git的基本原理和这些命令还是很有必要的,于是找到了廖雪峰老师的git教程,准备学一遍,并做笔记供以后翻阅。
点击进入:廖雪峰老师的Git教程
Git是什么?
Git是一个版本控制工具,可以帮我们记录每次的改动,和改动的内容。
我们可以和别人合作编辑同一个文件,最后通过它合并在一起。
Git和其他版本控制工具的区别
CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统。
集中式的版本控制系统有一个中央服务器,工作时从中央服务器获取最新版本,修改后再推送回去,最大的缺点就是需要联网。
分布式版本控制系统相当于每个人的电脑都是一个完整的版本库(中央仓库),无需联网便可进行版本的控制。分布式版本控制系统也有中央服务器的概念,但是没有集中式中那么重要,仅仅是方便很多人通过这个服务器进行文件的交换。
分布式版本控制系统安全性很高,其中一个人的版本库挂掉了,另外一台电脑上仍可以充当中央仓库,因为在本地保存着完整的版本历史。
增加一些对这个理解就是(引用评论):
Git本地仓库包含代码库还有历史库,在本地的环境开发就可以记录历史
而SVN的历史库存在于中央仓库,每次对比与提交代码都必须连接到中央仓库才能进行,所以需要联网 这样的好处在于:
1、自己可以在脱机环境查看开发的版本历史
2、多人开发时如果充当中央仓库的Git仓库挂了,任何一个开发者的仓库都可以作为中央仓库进行服务
Git还有很强大的分支管理功能。
初始化一个Git的仓库
git init 命令初始化一个文件夹,初始化完成后,文件夹下会有.git文件夹,这个.git文件夹里是git的配置文件,不要乱动,在非实验的情况下也不要乱删除。
$ git init Initialized empty Git repository in E:/GitRepsitory 4000 /LearnGit/.git/ $ ls -a ./ ../ .git/
我们可以看到已经有.git文件夹了。
git status可以查看当前工作区的状态,在未添加文件时我们可以git status一下看看。
$ git status On branch master Initial commit nothing to commit (create/copy files and use "git add" to track)
可以看到提示nothing to commit,需要我们创建或者复制一个文件过来,使用git add命令。
新建一个README.MD文件,内容为This is my first use.
再使用git status命令看一下。
$ git status On branch master Initial commit Untracked files: (use "git add <file>..." to include in what will be committed) README.MD nothing added to commit but untracked files present (use "git add" to track)
这时会看到我们已经添加了一个文件在工作区当中了,但是还没有git add,我们执行git add命令再git status查看。
$ git add README.MD warning: LF will be replaced by CRLF in README.MD. The file will have its original line endings in your working directory.
我这里出了警告,LF和CRLF分别是Linux/Unix 和Windows下的换行符,这里提示将会由CRLF替代,这里我们先不去管这个问题。
使用git status查看,会发现终端下提示变成了绿色,状态显示new file
$ git status On branch master Initial commit Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: README.MD
这里我的猜想是git add先把文件添加到暂存区之中了(往后面学习会验证这个我猜想),使用git commit -m “这里写提交说明” 命令,这样就相当于彻底完成了一个新版本提交。
$ git commit -m "new file README.MD" [master (root-commit) be8afaa] new file README.MD 1 file changed, 1 insertion(+) create mode 100644 README.MD
这样就提交成功了,再次git status看看
$ git status On branch master nothing to commit, working tree clean
证明这次的修改或者添加文件已经彻底提交上去了,工作区很干净。
接下来进行修改和查看此文件的历史版本。
编辑README.MD文件,增加一句话,再次git status会看到已经修改的信息
$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: README.MD no changes added to commit (use "git add" and/or "git commit -a"
此时,如果忘记此前都修改了什么内容,使用git diff可以查看文件被修改的记录,但是如果是add和commit 之后再使用此命令就无法这样查看了。
$ git diff README.MD warning: LF will be replaced by CRLF in README.MD. The file will have its original line endings in your working directory. diff --git a/README.MD b/README.MD index 918efd9..3d21572 100644 --- a/README.MD +++ b/README.MD @@ -1 +1,2 @@ This is my first use. +This is my second use.
最后git add和git commit提交就完成了。
相关文章推荐
- GitHub入门与实践学习笔记--github学习基础之关于git的基本操作
- Git 学习笔记--1.Git基础操作
- MySQL学习笔记3:表的基本操作介绍
- 嵌入式开发之C基础学习笔记09--位段,枚举和文件操作
- “黑马程序员”视频学习笔记之dom操作基础
- 学习笔记:基础+文件操作(上传|下载)+面向对象+xml
- Matlab矩阵操作基础,学习笔记...
- Java基础学习笔记_java介绍以及环境变量配置
- 学习笔记之javaweb基础:jsp基本语法,内置对象,对JavaBean的操作语法
- jquery学习笔记----基础介绍
- 《(学习笔记)两天进步一点点》(2) ——BindingSource基础操作
- 【C++学习笔记】文件操作编程基础
- [Matlab]基础教程学习笔记(四):二维高层绘图操作
- Java学习笔记(一) Java基础以及数据类型介绍
- 【Git 学习笔记】2.4 - 撤消操作
- C++数据库操作学习笔记:ADO基础知识
- [Git]学习笔记 --简单远端操作命令