一、安裝Git
$ sudo apt-get install git
二、創(chuàng)建一個(gè)git用戶
$ sudo adduser git
Tips:
1、useradd在使用該命令創(chuàng)建用戶是不會(huì)在/home下自動(dòng)創(chuàng)建與用戶名同名的用戶目錄,而且不會(huì)自動(dòng)選擇shell版本,也沒(méi)有設(shè)置密碼,那么這個(gè)用戶是不能登錄的,需要使用passwd命令修改密碼。
2、adduser在使用該命令創(chuàng)建用戶是會(huì)在/home下自動(dòng)創(chuàng)建與用戶名同名的用戶目錄,系統(tǒng)shell版本,會(huì)在創(chuàng)建時(shí)會(huì)提示輸入密碼,更加友好。
三、創(chuàng)建倉(cāng)庫(kù)
$ cd /home/git
$ sudo mkdir repository
$ cd repository
$ sudo git init --bare sample.git
修改repository所有者
$ sudo chown -R git:git sample.git
Tips:
--bare建立裸倉(cāng)庫(kù),只允許保存git歷史提交的版本信息,而不允許用戶在上面進(jìn)行各種git操作,防止多終端操作異常。
sample.git文件夾名
四、導(dǎo)入登陸證書
-
Windows下創(chuàng)建ssh證書
1.打開Git Bash
2.敲入命令ssh-keygen -t rsa -C "penghaitao"
-t rsa 指定加密方式為RSA,默認(rèn)DSA
-C "penghaitao"comment注釋,備注;注意大寫
鍵入命令后有兩次輸入,第一次是改名,第二次是密碼,都可以不輸
最后在/c/Users/tao/.ssh/路徑下獲取到兩個(gè)文件
id_rsa為私匙
id_rsa.pub為公鑰
-
遠(yuǎn)程倉(cāng)庫(kù)管理證書
1.創(chuàng)建管理文件
$ cd /home/git
$ sudo mkdir .ssh
$ cd .ssh
$ sudo touch authorized_keys
2.導(dǎo)入證書
將證書文件復(fù)制到遠(yuǎn)程主機(jī),然后再文件路徑下執(zhí)行以下命令
$ sudo cat id_dsa.pub >> /home/git/.ssh/authorized_keys
查看已導(dǎo)入證書
$ cd /home/git/.ssh
$ less authorized_keys
五、clone代碼
$ git clone git@192.168.1.6:/home/git/repository/simple.git
-
ssh: connect to host 192.168.1.6 port 22: Connection refused
嘗試在主機(jī)上執(zhí)行
$ ssh localhost
如果顯示ssh: connect to host localhost port 22: Connection refused
則可能是沒(méi)有安裝ssh服務(wù)端或者開了防火墻的原因
$ sudo ufw status查看防火墻狀態(tài)
$ sudo apt-get install openssh-server安裝ssh服務(wù)端
-
The authenticity of host '192.168.1.6 (192.168.1.6)' can't be established.
在遠(yuǎn)程主機(jī)上修改/etc/ssh/ssh_config文件,加入
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Tip:這是內(nèi)網(wǎng)中非常信任的服務(wù)器之間的ssh連接,所以不考慮安全問(wèn)題,就直接去掉了主機(jī)密鑰(host key)的檢查。
六、創(chuàng)建新項(xiàng)目
- 遠(yuǎn)程主機(jī)上創(chuàng)建版本庫(kù)
$ cd /home/git/repository
$ sudo git init --bare demo.git
$ sudo chown -R git:git demo.git
- 創(chuàng)建本地項(xiàng)目
1.新建項(xiàng)目
2.在項(xiàng)目路徑下 右鍵 -> Git Bash Here
3.在Git窗口中執(zhí)行命令
$ git init
$ git remote add origin git@192.168.1.6:/home/git/repository/demo.git
$ git pull origin master
$ git add .
$ git commit -m "first commit"
$ git push -u origin master