Git学习日记(二)
导语
本篇主要介绍初始化本地仓库,设置签名,以及提交代码等相关命令。
初始化仓库
首先创建一个文件夹,然后在文件右键,选中git bash选项然后就会弹出git命令行窗口了,你你创建的文件夹就是一个本地仓库了,当然这里呢,我又在文件夹下创建了一个code作为本地仓库。
我又新创建了一个new_code文件夹作为演示仓库
下面我们就进入该目录下new_code目录下完成初始化工作以及简单的演示一下命令
可以看到进入到new_code目录下,我是用ls命令,该目录下没有任何文件,然后使用git init进行初始化,初始化后,使用ls检查依然没有任何东西,就很奇怪,至少应该会有一些配置文件或日志信息什么的,然后我们可以从最后一步操作看到初始化后创建了一个 .git/ 目录,以点开头的是隐藏文件,则需要我们在ls命令中加入一些参数,才可以显示。
初始化后我们简单看一下目录下都有什么
可以看到有这么多东西,具体是什么我也不清楚,但是config一般都是配置信息,我们可以简单看一下,反正我也看不懂 (i( ̄ε(# ̄)☆)
这里呢我们就完成了本地仓库初始化的工作,需要注意的是 .git/ 目录中是相关的配置文件,所以不要随意进行删改操作,否则会使得本地仓库无法工作。
小结一下:
首先要先创建一个文件夹作为本地仓库
在文件夹中右键点击git bash 打开命令行
然后使用git init 命令完成初始化工作
完成后会创建一个名 .git/ 的目录用来存放相关的配置信息
设置签名
git作为一个分布式的版本管理系统,可以大大提高协同开发的效率,所以在开发的同时表明身份就非常重要,所以git有签名设置用来标识身份。另外提一句本地仓库的签名和登陆远程仓库的账号密码没有任何关系。
在git中一共有如下两种级别签名
级别 | 作用域 | 命令格式 |
---|---|---|
项目级别(仓库级别) | 仅在当前仓库有效 | git config user.name [username] |
系统用户级别 | 登陆当前操作系统的用户范围 | git cofig --global user.name [username] |
下面给大家看一下设置效果
可以看到我设置了邮箱和用户名,可以看到我的邮箱是随便输入的,所以就如我开始所说,他只是用来标识身份,不关心是否正确。然后我们可以看到我们使用的命令是config,不由的让人怀疑这与.git/目录下的config文件有关系,我们可以从上边的结果看到,果然在[user]中多出了name,和email正是我们设置的签名。
下面再看一下系统用户级别的
既然是用户级别,那么配置文件一定会存在用户文件夹下,那么我们其实可以发现一个.gitconfig文件,果然里边是我刚设置的签名。
当你向git提交代码是需要用你的签名标识身份确认,如果没有签名的话,git是不允许的,会出现报错。如果两个级别的签名同时存在的话,则采用就近原则也就是说,会优先使用项目级别的签名。
小结一下:
- 签名是用来标识身份的,git操作一定要有签名,不然会报错
- 签名有两个级别 项目级别和系统用户级别
- 当两个级别都存在的的时候才有就近原则
- 签名的name和email只是用来标识身份所以email格式可以不正确
- 本地仓库签名与远程登陆的账号密码没有关系
- 签名信息会存储在config文件中
基本操作
初始化完成,签名设置完成后我们就可以进行一些操作了
git status
status是查看当前状态,我们回到本地仓库执行一下
可以从它的提示信息中知道。没有提交过任何东西,也没有可提交的东西,然后让沃尔玛创建一个文件使用add命令来跟踪(就是添加到暂存区)。我们按照提示来试一下。
我们用vim写一个py文件
然后再使用status查看一下
这里的提示信息就变成了,没有跟踪的文件 test.py,提示我们使用add
git add
直接使用git add查看一下
git add提交到暂存区之后出现了一个警告,这个是因为windows和linux的操作习惯问题,这个不会影响我们,所以不必理会。下面我们再使用git status查看,我们可以看到,test.py颜色变成了绿色。提示信息,如果要放弃提交可以是哟个git rm --cached命令取消,那么我们来试验一下
可以看到我们就又回到了最开始的状态。
git commit
下面就让我们提交试试看
还是要先用add添加到暂存区,然后使用git commit命令提交,回车之后,会弹出一个编辑器窗口,这里需要我们对文件的改动进行一些解释说明(黄字部分是我添加的)
保存退出后就是提交成功了
可以看到status状态改变了。也就说明我们提交成功了。
提交还有一个简单的方法可以不进入编辑器中,就是再git commit命令中加上参数 --m
小结一下:
- git status是查看当前目录状态,为存到暂存区的文件是红色,在暂存区未提交的是绿色,提交后不出现
- git add 是把文件提交到暂存区
- 在暂存区时可以通过 git rm --cached [filename] 命令拉出暂存区
- 在暂存区的文件才可以提交,通过git commit [filename]
- 提交后会弹出一个编辑器,需要简答概括一下文件说明(没有严格要求必须这么做)
- 我们也可以通过 git commit -m “the content of file” [filename]的格式提交