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