Git配置
- 使用git配置方法
如何安装git方法,请参考git安装办法,此处不再介绍,请参考以前安装方法 - 添加ssh key
使用git上传代码,需要在gitlib网页上添加自己本机的ssh公钥,github同理。 - 生成ssh key
我们以root权限登陆主机
[root@client2 ~]# ssh-keygen -t rsa -C "XXX@***.com" #引号内容为在gitlab注册的邮箱,一路回车直到密钥生成完成
[root@client2 ~]# cd ~/.ssh
[root@client2 .ssh]# ls
id_rsa id_rsa.pub
[root@client2 .ssh]# cat id_rsa.pub
-
将id_rsa.pub的内容复制到Gitlab的SSH Keys Settings上面
-
客户端测试验证 git地址请参考项目git地址,因为此处还没设置域名请将域名替换成Gitlab服务器IP
[root@client2 .ssh]# git clone git@192.168.3.41:gitlab/first.git
Cloning into 'first'...
The authenticity of host '192.168.3.41 (192.168.3.41)' can't be established.
ECDSA key fingerprint is SHA256:ZcsnMVqtJ4paQk9hWt6J39D3tlGKWJLk/MCGHT4s/TA.
ECDSA key fingerprint is MD5:ec:bb:63:fa:9b:89:df:53:a1:2f:4a:23:53:7f:9e:41.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.3.41' (ECDSA) to the list of known hosts.
warning: You appear to have cloned an empty repository.
[root@client2 home]# git clone git@192.168.3.41:gitlab/first.git
Cloning into 'first'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), 11.67 KiB | 0 bytes/s, done.
[root@client2 home]#
- 这里我们如上配置好的客户端key 在参页面配置好后 。我们在frist目录下创建READ.md说明文件
[root@client2 home]# pwd
/home
[root@client2 home]# ls
first
[root@client2 home]# cd first/
[root@client2 first]# ls
LICENSE README.md
[root@client2 first]#
[root@client2 first]# git config --global user.name"用户名"
[root@client2 first]# git config --global user.email"XXX@XXX.com"
[root@client2 first]# git config --global --list
user.name=用户名
user.email=XXX@XXX.com
仓库
- 进入对应目录后,执行如下命令我们即可创建 git_test仓库
[root@client2 first]# git init git_test
Initialized empty Git repository in /home/first/git_test/.git/
我们相当于在 /home/first/git_test建立这个目录,这个上目录就是一个git仓库,你可以将需要进行的版本管理的文件放到”git_test“目录中,从上述的命令返回值可以看出我们已成功建立 一个空git仓库
进入刚才建立的git仓库,也就是/home/first/git_test,你会发现一个名为“.git”的隐藏目录
[root@client2 git_test]# pwd
/home/first/git_test
[root@client2 git_test]# ls -a
. .. .git
[root@client2 git_test]#
这个目录非常重要,git会依靠这个目录进行版本管理的工作,git会将版本管理所需要的相关信息转化成git对象存储到这个目录,其实,这个“.git”目录才是真正的git仓库,我们这里的仓库是针对git_test目录的,我们依靠它对git_test目录中的文件和目录结构进行管理,“.git”目录赋予了git_test目录进行版本管理的能力,我们在。需要注意的就是这里,在任何时间都不要手动的修改或删除“.git”目录中的文件,因为这样会破坏仓库,仓库破坏后,那么就无法进行版本管理了。
- 已存在的目录变成git仓库
上述步描述了怎样建立一个新的空的版本库,那么我们能不能把一个已经存在的目录变成一个git仓库呢?
我们只需进入对应目录,然后执行“git init”命令即可,例如:
[root@client2 code_test]# pwd
/home/code_test
[root@client2 code_test]# git init
Initialized empty Git repository in /home/code_test/.git/
[root@client2 code_test]# ls -a
. .. .git
执行完成后,code_test目录下面就出多出个“.git”隐藏的目录,此时code_test目录就是一个可以复用的git进行版本管理的目录了
-
说明无论之前code_test目录是否包含其他文件,我们都能使用"git init"命令将code_test目录变成一个git仓库,即使code_test目录中原来就包含其他文件,当我们执行“git init”命令以后,code_test目录中原有文件也不会被git管理,因为如果想要管理这些文件,我们还需要一些其他的操作,才能将它们纳入到git的追踪范围以内,也就是说,git init五官科外用只能让code_test目录拥有了版本管理的能力,无论code_test目录中原来是否存在文件,“.git”目录都是新创建出来的,从git仓库的角度来说,这就是一个新的仓库,还没有任何文件被这个仓库所管理。
-
命令小结
git init命令 是把当前目录转换成git repo(源) -
上述仓库的概念完成后,接下来我们若要使用git进行版本管理,必须提供我们用户名和电子邮箱,这些信息需要被记录到仓库中,如下命令,我们使用如下设置用户名和邮箱
$ git config --global user.name "XXX"
$ git config --global user.email "XXX@XXX.com"
$ git config --list #查看自己的git信息
命令解释 --global 全局的 也就是说如果我们在设置用户名和邮箱的时候,使用了这个选项,那么当前用户创建 的所有git仓库都会使用这个用户名和邮箱,当然还有 --local --system选项。所以我们可以通过这个三个选项控制设置作用域的范围,具体作用如下:
git config --system:使对应配置针对系统内所有的用户有效
git config --global:使对应配置针对当前系统用户的所有仓库生效
git config --local:使对应配置只针对当前仓库有效
local 选项设置的优先级最高。
- 如果想要查看对应的作用域设置,可以使用如下命令
git config --system --list
git config --global --list
git config --local --list
- 使用相关事项 我们在设置用户名和邮箱时,通常会使用“--global”选项。因为这样我们只需设置一次,当前用户的所有仓库都会使用这些用户名和邮箱信息,即使是当前用户新建的仓库也会使用同样的配置。如果使用“--system”选项时,可能会影响到系统中的其他用户,如果使用“--local”选项,那么当信息发生变化时,每次创建的新仓库又都需要生蚝是的为新仓库设置一次,所以当设置用户和邮箱时,“--global”选项常用













网友评论