Git:本地软件,无需联网即可使用,实现本地代码的管理。
分布式版本控制系统,是一种工具,用于代码的存储和版本控制。
将本地文件通过一定的操作将其同步上传到
Github或Gitee
Gitee:是一家中国公司,
GitHub
相当于
云服务器
,这个云服务器是国外的,为了方便国内用户需求,Github被中国化了,变成了
Gitee(码云)
; 全中文,大部分用户都是国人,优秀的库相对少。
不用自己搭建环境,可以建立自己的私有仓库
Github:是一家美国公司,基于Git实现的在线代码仓库,目前全球最大的代码托管平台
面向开源及私有软件项目的托管平台,只支持 git 作为唯一的版本库格式进行托管。
对于开源项目而言,GitHub 依然是代码托管的首选。全英文并且用户基数多。
** 共有仓库免费,建立私有仓库要收费 **Github的初衷就是为了大家共享自己的劳动成果。
Gitlab:基于Git实现的在线代码仓库软件,可以用GitLab自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。 从代码的私有性上来看,GitLab 是一个更好的选择。
要自己搭环境。可以免费搭建私有仓库,并且可以部署在自己的服务器上
一、搭建个人版 Git 服务器—
需求:将自己的服务器搭建成一个Git服务器,用来在本地和服务器上进行代码同步。
1、服务器端
一、安装Git
#查看本机是否安装了git,以及安装了几个
which -a git
# 在安装Git前可以先检查一下服务器上是否已经安装了Git,若没有则需要手动进行安装。
yum –y install git
# 验证是否安装成功
git --version
二、创建Git用户
# 创建git账户
sudo useradd git
# 设置git账户密码,需要连续输入两次密码
passwd git
# 查看git账户是否创建成功
cd /home
ls -all
三、配置免密登录
#进入Git用户所在的目录并切换到Git用户
cd /home/git | su git
#在git用户根目录下创建.ssh目录
mkdir .ssh
#进入.ssh目录,创建用来保存用户ssh登录的公钥的文件authorized_keys
cd .ssh | touch authorized_keys
#.ssh目录的权限必须是700,而authorized_keys的权限必须是600,为确保权限正确使用下列命令进行设置
sudo chmod -R 700 /home/git/.ssh
sudo chmod 600 /home/git/.ssh/authorized_keys
#将服务器本地和个人PC端创建的公钥复制进authorized_keys,然后保存退出。
#服务端没有公玥同样在root用户下操作生成 ,上面的操作是在git用户下的,需要先切换出来。创建完成后切换回去。
su - | ssh-keygen -t dsa
ls ~/.ssh
cp -r ~/.ssh/id_rsa.pub /home/git/.ssh/authorized_keys
#若客户端没有公玥,则在客户端操作生成,创建时回车即可,创建完成后查看。服务端没有公玥同样操作生成
ssh-keygen -t dsa | ls ~/.ssh
scp -r ~/.ssh/id_rsa.pub root@服务器地址:/home/git/.ssh/authorized_keys(Wincp工具传输也可)
四、Git仓库
#在/home/git/目录下可以创建自己的Git仓库
git init --bare 仓库名.git
# git init --bare demo.git
#创建成功的提示:Initialized empty Git repository in /home/git/demo.git/
如下图所示,表示 git 安装成功
2、客户端
#将仓库克隆下来
git clone [email protected]:/home/git/demo.git
# xx.xx.xx 表示服务器IP
#操作仓库,创建一个名为test.txt的文本文件,然后用git命令将其推到远程私有Git服务器上:
git add .
git commot -m "create test.txt"
git push
如下图所示,表示客户端推送成功
3、服务端验证
验证
#在服务端本地,先创建一个目录,然后在该目录下同样使用git命令将该仓库克隆一份
mkdie /home/gitpush
git clone git@localhost:/home/git/demo.git
如下图表示,在本地创建的
test.txt
已经同步到了服务器端
结论:
Git服务器最常用的还是在多人之间进行代码的同步。
其实还有一种更简便的操作:将自己本地和服务器的
ssh
公钥添加到Github上,直接利用Github来进行同步,这样操作会更简单,唯一的缺陷是速度可能会比较慢。
版权归原作者 -南柯一梦 所有, 如有侵权,请联系我们删除。