00:00
来,我们先说一下这个签名长什么样子。加个标记,这个签名呢,它的形式哈,这个get呢,它要求我们设置一个用户名一样的东西。用户名,诶然后呢,需要一个email地址,用户名,比如说呢,我们叫个汤姆,呃,Email地址呢叫goodmorning,这为啥叫goodmorning艾特什么什么呢,为啥不是汤姆艾特什么什么呢?我是为了让大家知道这个email地址呢,并没有说要求非得跟用户名这个一致。而且甚至于说你这个email地址不存在都没事。他不会给你这去发邮件的,不用考虑这个问题,他主要就是用这样的字符串呢,能够去标识开发人员的身份啊,就是能把不同的开发人员能给他区分开就可以了,这就是他的作用,区分不同开发人员的身份啊,不然的话,一个版本控制系统里边你也提交,我也提交啊,那呃,提交的这个东西到底是你的还是我的呢?是吧,这个提交是是这个修改是谁做的,我们得有办法给他区分开,就是靠这个签名。
01:20
呃,在这的话,我们还需要有一个辨析,就是我们前面提到了这个远程库,就是我们的代码托管中心,我们的GIHUB或者马云也好,那么在这个代码托管中心上面呢,我们需要有用户名密码,需要有账号呢去登录,这个时候大家一定要区分开这个登录代码托管中心的这个账号密码哈,和我们这个用户名email地址呢,是一点关系都没有的啊,完全是两回事,一点关系都没有,诶这个这里设置的签名和登录远程库,哎,也就是我们的代码托管中心的账号,呃,密码没有任何关系,哎,这个事儿需要去注意哈,然后呢,那我们下边就看这个设置签名呢,这个命令是啥?
02:21
这个时候呢,我们说哈,它都是用get config这个命令,但是呢,这个参数的通过参数呢,我们可以把它们区分成两个级别,呃,一个呢是我们项目级别,诶有的资料里边呢,也管这个叫仓库级别啊,这个这个是一个意思,只不过呢,这个就是,只不过这个就是叫法不同啊呃,另外一个级别呢,是我们系统用户级别。给大家解释一下什么叫做项目级别啊,或者说仓库级别,呃,大家看我们现在所在的这个地方呢,是我们的工作区的目录下边不是有一个这个WeChat吗?我们用他的这个目录呢,代表我们这个项目,那么你在这个级别里边设置的这个签名呢,那他就只是在这个这个项目的范围内生效,或者说在我们当前的本地库范围内有效,对吧?这个也都非常理解,请在当前本地库范围内有效。
03:27
而这个系统用户的级别呢,我们说哈,这个系统用户,这个系统指的是谁啊,那你看这个get best运行在哪啊,运行在Windows系统上,那这个系统用户呢,指的就是你登录Windows系统的这个用户。诶,这不是在这吗?你看我登录我的Windows Windows系统呢,用的是这个用户,用户名呢叫Lenovo,诶因为我用的是这个联想的系统是吧?哎,联想的这个笔记本,那么那么这个时候呢。他就超越了你这个项目或者是仓库的这个范围,只要你用的是Lenovo这个账号,诶就是只要你用的是Lenovo这个账号,登录Windows系统,那么这个这个级别的签名呢,它就对这个项目都是有效的,那么就是登录当前操作系统的用户,哎范围,嗯,那么就是系统用户的级别,肯定它的范围呢,比我们项目级别或者是仓库级别呢,它的范围要大。
04:29
嗯,那你如果没有设置项目级别的签名,那么肯定就使用了呃,用户系统用户的级别的这个签名了,但是如果你这两个如果都有的话,如果都有的话,那么按照就近原则是项目级别的生效,他就不会再去用这个系统用户的这个级别了啊在这我们说是这个,呃,优先级,我们解释一下这个优先级的问题,我们在这写下笔记。那么就是就近原则,哎,那么项目级别,呃,它的优先级呢,优先于我们这个系统用户级别,嗯,就是这两个都有的话,呃,以项目级别的这个会采用项目级别的签名。
05:20
二者都有时采用我们的项目级别的签名。呃,那然后呢,那你如果。如果只有。系统级别的这个签名啊,那么就当然就就以这个系统级别,嗯,系统用户级别哈。呃为准,呃,当然你说是还有一种情况,那就是说我我要是呃项目级别有没有系统级别的,那肯定还是他是吧,哎,那反正他也是优先的,还有一种情况就是这两个我都没有,这时候大家要注意,这两个都没有是不允许的啊,这个二者都没有不允许啊,你后边做操作呢,这个get呢,它会报错啊,你你你这个你你做一些操作,我识别不了你的这个身份了,我区分不开了,那我就不接受你的提交的这个数据了啊,所以这个是二者都没有是不允许的,所以说呢,你这两个里边呢,你至少要设置一个,哎这个我们说清楚这个级别以后呢,我们就来说说啊这个命令。
06:40
命令呢,我们用的是这个get conig这个命令,然后呢,这个呃,如果不带参数的话,设置的就是项目级别或者说仓库级别的,如果我们带一个杠杠global这样一个参数的话,那么设置的就是系统用户这个级别的啊,所以这个很好理解是吧?Global就是全局全球的这个意思吧,通常我们用它来代表全局,呃,然后呢。
07:10
这个命令呢,我们设置用户名的话,是在它后边呢,加上这个user.name哎,加上用户名,比如说这个Tom pro,然后呢,GI can user.email to姆。嗯,Goodmning at at硅谷点com,我们为了为了方便区分它是诶体现出他项目级别的,在这咱们加一个下关线pro代表咱们项目,呃,后边这个全局级别的就是用户系统用户级别的这个一样也是user点内,然后global。啊,这个它只是参数不一样,其实后边都是一样的了。
08:02
好嘞,呃,所以说你看我们系统用户级别的,相对于项项目级别的呢,它只不过是多这么一个参数,呃,我们在这哈,这个里边,这我们去标记一下这个命令。然后呢,在这呢,我们去标记一下这个参数,哎,让大家看的显眼一点。这个格式。稍等我设置下啊。好嘞,哎哟,后边这还不行。好嘞,带上这个global参数就设置是全局的,那下边咱们就来这个具体的来做一做。哎,我现在在哪啊,现在就在我们这个项目的这个目录里,我们就直接的来执行,然后呢,user.name。
09:05
Tom,我这个设置的是哪个级别呀?哎,没有带杠杠global,那这个设置的就是我们这个项目的级别。然后GI conig user.email good morning pro,艾特google.com,好嘞,我们把这项目级别的用户签名给设置好了,设置好这个签名以后,我们会想一个问题哈,他把这个签名信息会给我们保存到哪呢?诶,还真有这么一个地方,大家记不记得我们刚才看这个本地库初始化好的get目录里边哈,它有一个conig这样一个文件。我们打开它呢,来看一下,你看这里边呢,就有这个user这个节点,这个节点里边呢,你看这个name的值是我们设置的Tom Tom pro,然后呢,这个email呢,是我们设置的goodmorning pro是吧?诶所以说呢,这个它设置到哪了呢?就是设置到我们GI这个目录的下边的config这个文件里面啊,当前的版本,当前项目目目录下边讲get目录下边的con文件,我们这个呢,也来记一下啊,这个大家可以去做为一些参考。
10:30
呃,是我们当前目录,当前项目目录下边,目录下面的这个这个文件,这个文件里边的内容呢,我们可以截个图放在这。那然后我们再设置一下这个系统用户级别的,就是在刚才这个基础之上呢,给他加这样一个参数。User点内。
11:03
诶,然后它后边呢,是我们的。嗯。我刚才设置的汤姆的GB global是吧?然后呢,GI con,杠杠global user.email Tom是我们的goodmning global at at,硅点com,那么我们系项目级别的有地方保存,专门有一个文件,呃,这个呃,系统用户级别的,他是不是也得有一个地方去存这些信息是吧?我们这个类比这来想的话,他肯定会有啊,那么我们就想哈,他既然是系统用户级别的,那么是不是应该在我们系统系统的这个用户加目录下边呀。那大家想想我们这个,呃,用户加目录用哪个符号去表示啊。哎,是不是我们这个波浪线是吧?呃,我们看一下哈,PWD看一下当前所在的目录是我们C盘users Lenovo这样一个目录,哎,那么这个时候呢,你看这就是我的用户名嘛,诶用户名这个加目录呢,通常会和你当前的用户呢是同名的,那么我们在这个目录下边呢,我们来看一看啊,这里边呢有很多东西。
12:20
诶,这个我们直接这么看呢,没有看到跟我们get有关系的,呃,但是呢,我们在加上这个查看隐藏文件这个参数,再来看一下的话。我们会看到这里边有一个文件呀,叫点GI config啊,怪不得刚才看不到呢,因为它是以点开头的呀,啊一点开头它就变成一个隐藏文件了是吧?诶变成这个隐藏文件呢,诶不带那个大A那个参数我们看不到,好嘞,那确实是有这么一个文件哈,那咱们就cat.get config这个文件,咱们去猫眼,诶看这里边的内容呢,就没别的,就是我们刚才设置的,诶user节点下边name,这不是To Global email是goodm global是吧?哎,说明呢,就是在这我们显示一下这个完整的路径哈,哎,当前的用户的加目录下边的get conig。
13:13
我们把这一部分截图过来。放到我们笔记里。哎,我在这儿记一下啊,这个是信息保存的位置,是我们当前用户的加目录下面的GI config这个文件。这是一个截图啊,这样的话我们就设置好我们这个用户的这个签名了啊,那么这两种我们都设置了啊,都给大家演示了怎么设置了,那实际开发的时候呢,其实呢,我们没有必要把两个都设置上,呃,通常的话,咱们为了省事的话,我们就设置一个系统用户级别的就够了。啊,那你这个每个项目呢,也都是用这一套啊,其实就足够了,那你说我这个假如说有些时候有特殊的这个需求啊,那我把这个项目的这个呢,也设置上啊,那你就按照这个来设置,哎,就是就是有这么两种方式。
我来说两句