(1)Windows和Linux下Git安装配置

概述

开发的小伙伴们一定都用过版本控制工具,比较常用的就是Svn和Git,不过目前Svn目前用的相对没有那么多了。不少人都会说Svn是集中式的,Git是分布式的,其实也没有必要太过于去纠结这个概念问题。下面是从网上找的关于Svn和Git的两张图:

 下面做个简单的对比:

  • SVN:SVN本地只有本地代码库,其历史库存在于中央仓库,每次对比与提交代码都必须连接到中央仓库才能进行,比如你想回退或者查看之前版本的代码也要连接中央仓库,否则无法进行操作。SVN 的每一次 commit都是直接提交到了中央仓库。
  • Git:Git可以先通过add操作将文件添加到暂存区,然后commit到本次仓库,这个是不需要联网的,只有push的时候才需要联网。Git本地包括本地代码库和历史库,所以本地可以在不联网的时候进行版本回退或查看等操作。

Git下载

Git官网下载地址为,如下所示:可以选择自己需要的版本进行下载

Windows下Git安装

很多都是直接下一步就行了,有些不重要的步骤就不添加截图了

 勾选桌面快捷方式和Windows窗口的字体设置

默认编辑器选择了notepad++

 这里选择第二项,注意跟之前的老版本有点不一样,老点儿的版本这里是 Use Git from the Windows Command Prompt

注意:下面的 Enable Git Credential Manager 会自动勾选,如果无法勾选的话,就是下面红线部分的提示要求.NET framework 4.5.1或者更高版本,安装了就可以了。

点击Install,等一会儿Windows版安装就完成了。安装完成后,可以看到桌面上的gitbash图标,双击打开如下

Linux(Centos)上Git服务器搭建

1、使用yum方式安装Git

yum install -y git

   2、创建一个gitUser用户,用来运行git服务,创建了一个用户组

adduser gitUser
passwd gitUser
groupadd git

  3、初始化git仓库:这里我们选择 /usr/local/gitReps/simple.git来作为我们的git仓库,通过下面命令创建了一个空仓库

[root@wkp4 learn]# pwd
/usr/local/gitReps
[root@wkp4 gitReps]# git init --bare simple.git
Initialized empty Git repository in /usr/local/gitReps/simple.git/

   把文件所有者改为gitUser

chown gitUser:git simple.git  -R

4、禁用gitUser用户的shell登陆:出于安全考虑,第二步创建的gitUser用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

gitUser:x:503:503::/home/gitUser:/bin/bash

最后一个冒号后改为:

gitUser:x:503:503::/home/gitUser:/usr/bin/git-shell  

这样,gitUser用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

到这里git服务器也差不多搭建好了。,

5,然后我们在windows上通过git Bash进行clone,输入命令:

git clone gitUser:192.168.74.4:/usr/local/gitReps/simple.git

当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:The authenticity of host ‘github.com (xx.xx.xx.xx)’ can’t be established. RSA key fingerprint is 。。。。。。Are you sure you want to continue connecting (yes/no)?  这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。

输入yes一般会出现下面的警告:告诉你已经把GitHub的Key添加到本机的一个信任列表里了

Warning: Permanently added 'github.com' (RSA) to the list of known hosts.

不用理会,继续输入下面的命令

git clone gitUser:192.168.74.4:/usr/local/gitReps/simple.git

回车,然后输入gitUser用户的密码即可clone成功。每次都输入密码很不方便,更常见的方式是通过SSH的公钥来完成验证。

6、创建SSH Key

首先在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"  

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,密码可以不用设置。

如上图所示:这时我们可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥。

7、Git服务器打开RSA认证

然后就可以去Git服务器上添加你的公钥用来验证你的信息了。在Git服务器上首先需要将/etc/ssh/sshd_config中将RSA认证打开,即:

vi /etc/ssh/sshd_config
#将下面三个注释打开
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

这里我们可以看到公钥存放在.ssh/authorized_keys文件中。所以我们在/home/gitUser下创建.ssh目录,然后创建authorized_keys文件,并将刚生成的公钥导入进去,也就是把id_rsa.pub中的内容复制进去保存。然后再次clone的时候,或者是之后push的时候,就不需要再输入密码了。

vim /home/gitUser/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAlWykNFsoqlI16G9Xxq......VvJPeeCF xxxxx@qq.com
#把公钥复制进行,保存退出

GitHub上添加SSH Key

在上面我们设置了Linux上git服务器的SSH key,其实当我们使用GitHub的时候也需要设置这个东西,方式与其类似。进入GitHub的Setting——>SSH and GPG  keys,可以看到已经添加过的key,然后可以点击 NEW SSH key 添加新的key

 将我们上面第6步中生成的id_rsa.pub文件,用notepad++打开复制进去,点击Add即可

仍然在bash.exe中输入ssh -T git@github.com然后会跳出一些警告,你只需输入yes回车就完事了,然后你就可以正常连接你的GitHub了。

警告信息:Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts。你只要在你的host中配置如下一行就可以了

52.74.223.119 github.com

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值