简介:
如果你不想把自己的代码公开让别人阅读、使用,也不想花钱购买 GitHub 私有仓库,那么你就需要自己动手做一个了。
当然你也可以使用 Coding.net ,上面可以创建免费的私有仓库。( 今天我就是要自己创建一个 Git 私有仓库 )
一、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" # 全部默认
二、搭建 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 # 指定运行用户
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 )
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
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
Initialized empty Git repository in /git/sample/.git/
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
shell > cat sample/readme.t # 本地又有了刚删除的文件,看来是没问题!
git clone
来源:http://www.linuxidc.com/Linux/2016-03/129671.htm