Git学习笔记 chapter01--Git介绍和基础操作

因为后来用了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/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 addgit commit提交就完成了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值