【学习笔记】git之一:安装及本地库操作

文章基于windows 10平台,主要是谬雪峰git学习笔记,梳理一下。

第一:安装git

首先,官网下载安装文件,初始化设置

          默认已经注册了GitHub的账户,注册邮箱是star@169.com,昵称是star。          

git config  --global user.name "star"
git config  --global user.email "star@169.com"

其中--global 是全局变量,此机器所有git仓库都应用同样的name和email。

第二:创建本地版本库

启用git bash

cd G:
mkdir gitstar
cd gitstar
git init

在G盘新建了个名字gitstar的文件夹,然后启用 git init命令,初始化gitstar文件夹,文件夹里新建了一个.git的文件,标志着创版本库/仓库,创建成功。


本地版本库的结构



第三:添加文件到本地版本库

        A:readme.md  文件,作为项目的描述文件

        B:项目文件,比如我们的项目文件夹名是moon,文件夹包含moon_1,moon_2,moon_3三个文件。


1、添加readme.md

 【执行此操作,相当于将工作区的readme添加到版本库的暂存区stage】

git  add readme.md

2、commit -m ”“   

 【执行此操作,即把已添加至暂存区的readme,提交到本地库特定的分支branch,并备注说明】

git commit -m "gitstar learn"

此两部操作以后,才完成文件提交流程;

此外可以多次add文件,然后给这批文件,统一 作一次commit。

3、应用 git status 语句查看版本库当前的信息。

git status

截图,可以看到moon这个文件夹下的所有文件都没有添加,git提示我们:先add,在commit

以下是关于add的几个操作区别:

================================================================

git add -u      

这语句执行的对象是已跟踪【已add】的文件,包括被跟踪对象(被修改或者被删除)。

-u是-update的缩写。

既然跟踪了add对象的删除操作,那么执行git status 语句,会提示我们那些文件,在工作区被删除了。

我们可以通过对应的语句

1.” git checkout HEAD -- filename” 以提交到当前工作分支的文件为标准,恢复工作区被删除的文件。

2.” git checkout -- filename”以add到暂存区的文件为标准,恢复工作区被删除的文件。

1和2的区别在于,被add 的文件可以快过分支的文件,我们在不断更新代码

--------------------------------------------------------------------------------------------------------------

git add .

这句执行对象:被add文件的修改 + 新建文件【也就是没有被add的文件】

--------不会跟踪【已被add,且已被删除】的文件。

----------------------------------------------------------------------------------------------------------------

git add -A

这个语句相当于  以上两个语句的集合体。

跟踪已add文件的修改/删除操作,同时也可以执行新文件的添加操作。

==================================================================

4、执行git add -A操作


   执行操作以后,提示工作取working tree clean

第四:管理修改

1.在工作区readme添加内容

hello git

2.比较git diff   、git diff --cached、git diff HEAD --

    a、git diff :工作区和暂存区比较

    b、git diff  --cached :暂存区和最新本地版本库(当前分支)文件比较

        【只在工作区修改readme文件,则此语句不显示修改内容】

    c、git  diff  HEAD -- <PATH>.. :工作区和最新本地版本库(当前分支)文件比较

          【如果工作区readme文件,没有被add,则此语句和git diff  呈现的结果相同,但比较对象不同,

             此外】

 3.撤销修改/恢复工作区删除

   a、工作区readme被修改,没有add【没add自然没commit】

    执行以下语句

git checkout -- readme.md

   相当于以暂存区的文件为标准,撤销工作区的修改,或者工作文件被删除,可以恢复。

   坑:git  checkout -- readme.md   这--后必须空一格在写上文件名 readme.MD


   b、工作区readme被修改,被add,但没被commit 到当前工作分支

    执行以下语句

git checkou HEAD -- readme.md

     相当于以当前工作分支的文件为标准,撤销工作区的修改,或者工作文件被删除,可以恢复。

    坑:git  checkout HEAD -- readme.md  必须指定撤销修改的文件名

           以上语句等同于,git reset --hard HEAD,回滚当前分支


  c、工作区readme被修改,被add,被commit

      这情况下,只能回滚到上一个版本

git reset --hard HEAD^
git reset --hard commit id
当然我们也可以撤回回滚操作,只要先 git reflog 确认相对应的commit id,然后git reset --hard commit id

           

  第五:版本库删除文件

   工作区删除了readme,git status语句提示我们。


要在版本库删除,则执行两步:

git rm readme.md

git commit -m"del readme.md"

第六:对比修改的解释

仅以git diff 为例

git diff
输出以下
diff --git a/README.md b/README.md
index 45e6779..ed0bb69 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
 # gitstar2
 # 测试clone

+nihao 第二次测试


第一行: 表示对比  a/README.md【暂存区】,b/README.md是工作区

第二行:对比两个区域的哈希值,一个index区【此处是暂存区】45e6779,一个工作区ed0bb69

             最后六位数表示对象模式,100644(普通文件,644权限)

第三行:对比的两个文件,---index区域的【变动前】,+++本次提交的工作区的文件【变动后】。

第四行:@@ -1,2 +1,3 @@

             -表示变动前,1表示第一行,2表示连续两行

            +表示变动后,1表示第一行,3表示连续三行

第五行至以下:

            +语句表示,变动的部分。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值