//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"