Git 搭建私有仓库


//linux 环境下:

 

模拟场景:两台虚拟机之间进行,一台当作远程仓库机,另一台当作客户端来链接远程仓库机

 

 

一、Git 客户端(客户机)

 

shell > yum -y install git

shell > git config --global user.name 'wangxiaoqiangs'  ##名称
shell > git config --global user.email 'wangxiaoqiangs@foxmail.com' ##邮箱地址
shell > git config --global color.ui true 

shell > ssh-keygen -t rsa -C "wangxiaoqiangs@foxmail.com" # 全部默认,这里主要用来生成公钥的。 在这个 文件中 id_rsa.pub

 

二、搭建 Git 私有仓库(仓库机)

 

shell > yum -y install git

shell > useradd -s /usr/bin/git-shell git

shell > mkdir /git; cd /git
shell > git init --bare sample.git # 创建 git 仓库,仓库名一般以 .git 结尾 ( git 仓库上没有工作区,看不到代码 )
shell > chown -R git:git sample.git # 指定运行用户, 这里的用户为git

shell > mkdir /home/git/.ssh; cd /home/git/.ssh   ###注意路径

shell > vim authorized_keys # 文件名称一致  将客户机生成的公钥写入 ( id_rsa.pub ) 下面是我这台机器生成的公钥,当然你只能用你自己的公钥

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuGNPuqbpkFCsV/54PXzuVt7vxjL82lA/oRL/ityWhcpSfyARuEf8Cg9jg8Z/8UiBqoYuuix/\
gAbZ8XswfG2nEYoPi7fNOET/q6b8hQouLHsMWT70P8Zb0SJvje5+3dVcfEVoFXtPkIgigPQBtqsf/B+8BbRdvzyV3c+syjqGiZiFpnHSJVloxX+BzZdJvSSXHvBflLc/\
6csvhCH4w8ifxeAFieVmYuS11XCchPzYDNL3TJEVY8l/1AwS8u3Vgh/npIFwxeHcQUX/p7BTcHpUjjhIdjOSKTUO1q5KGZ7lfywAanNdU9ymL6CrZfsg2e95mXZlfpiPO+6HMiUXrrs54w== \
wangxiaoqiangs@foxmail.com

 

三、客户端克隆远程仓库(客户机操作)

 

shell > mkdir /git; cd /git # 进入到一个目录 ( 任意 )

shell > git clone git@123.57.177.232:/git/sample.git # 将远程仓库克隆到本地 ( 标准端口:22 ) 注意:git@ 是仓库机上的用户,后面接ip地址+访问路径  sameple.git 就是你仓库机上生成的仓库地址
shell > git clone ssh://git@123.57.177.232:16543/git/sample.git # ( 非标准端口: 例如 16543 )  ##暂时没有实践

Initialized empty Git repository in /git/sample/.git/
warning: You appear to have cloned an empty repository.

shell > cd sample
shell > echo "git clone" > readme.t  ##创建文件并写入文件内容 ,文件内容为“git clone”
shell > git add readme.t        # 将工作区的文件提交到暂存区
shell > git commit -m 'clone'  # 将暂存区的文件提交到本地仓库
shell > git push origin master  # 将本地仓库代码推送到远程仓库

 

四、验证 (客户机操作)

 

shell > rm /git/sample # 删除本地仓库

shell > cd /git # 重新克隆远程仓库到本地

shell > git clone git@123.57.177.232:/git/sample.git

shell > cat sample/readme.t # 本地又有了刚删除的文件,看来是没问题!

git clone  ## 重新clone 下来的内容就是,我们之前提交到远程私库的内容 "git clone"

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM