服務(wù)器端安裝與配置
1.安裝ssh服務(wù)器
sudo apt-get install openssh-server
sudo service ssh start
2.安裝git
sudo apt-get install git
3.創(chuàng)建git用戶(hù)
sudo adduser scgdgit
- 禁用shell登錄
sudo vi /etc/passwd
git:x:1001:1001:,,,:/home/git:/bin/bash
修改為
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
5.創(chuàng)建存放代碼倉(cāng)庫(kù)的文件夾
sudo mkdir /home/git/repositories
#創(chuàng)建文件夾
sudo chown git:git /home/git/repositories
#修改文件擁有者
sudo chmod 755 /home/git/repositories
#修改文件權(quán)限
6.創(chuàng)建代碼倉(cāng)庫(kù)
sudo git init --bare /home/git/repositories/sample.git
7.修改子項(xiàng)目權(quán)限
sudo chown -R git:git sample.git
8.創(chuàng)建authorized_keys文件并修改權(quán)限
sudo mkdir /home/git/.ssh
touch .ssh/authorized_keys
sudo chown -R git:git /home/git/.ssh
客戶(hù)端操作
1.安裝git <https://pc.qq.com/search.html#!keyword=git>
2.配置git用戶(hù)信息
git config --global user.name "你的注冊(cè)用戶(hù)名"
git config --global user.emall "你的注冊(cè)郵箱"
3.生成本機(jī)密鑰
ssh-keygen -t rsa
#選擇默認(rèn)或輸入保存路徑
4.上傳本機(jī)密鑰至服務(wù)器端
ssh-copy-id -i ~/.ssh/id_rsa.pub remote@192.168.1.2
#服務(wù)器端一般已禁用git用戶(hù)bash登錄稠曼,所以ssh-copy-id命令會(huì)執(zhí)行失敗律适,可通過(guò)ftp等其他方式上傳至git服務(wù)器并將公鑰內(nèi)容寫(xiě)入到authorized_keys文件中
多人協(xié)作
1.服務(wù)器端創(chuàng)建代碼倉(cāng)庫(kù)并修改權(quán)限
2.任一客戶(hù)端創(chuàng)建dev分支并同步到遠(yuǎn)程dev分支
client1克隆遠(yuǎn)程倉(cāng)庫(kù)到本地,
git clone git@github.com:someaccount/someproject.git
本地創(chuàng)建dev分支封寞,
git checkout -b dev
推送本地dev分支到遠(yuǎn)程dev分支
git push origin dev:dev
至此捺萌,服務(wù)器與本地均有master和dev分支
3.client開(kāi)始coding
克隆遠(yuǎn)程倉(cāng)庫(kù)到本地 git clone...
默認(rèn)情況下克隆到本地的遠(yuǎn)程倉(cāng)庫(kù)只有master分支乃沙,要求必須在dev分支上進(jìn)行開(kāi)發(fā)抒线,將遠(yuǎn)程dev分支check到本地git checkout -b dev origin/dev
client2此時(shí)處于dev分支粟耻,工作完成后仍舊推送到遠(yuǎn)程dev分支。
git add .
git commit -m''
git push origin dev
client3锨咙、client4...同理
tips
git reset --mixed
使用Add操作跟蹤文件语卤,如果是第一次Add,添加后想修改忽略規(guī)則酪刀,剔除其他不想要的文件粹舵,需要撤銷(xiāo)所有跟蹤,使用git reset --mixed
git rm --cached "文件路徑"
可以從緩存區(qū)移除文件骂倘,使該文件變?yōu)槲锤櫟臓顟B(tài)
復(fù)制遠(yuǎn)程倉(cāng)庫(kù)到本地并于本地已有文件的文件夾合并
先將遠(yuǎn)程項(xiàng)目clone 到臨時(shí)文件夾眼滤,將文件夾中的所有文件(包括.git隱藏文件)copy到本地已有文件的文件夾,在此文件夾下執(zhí)行git reset --hard DEAD
历涝,即將遠(yuǎn)程倉(cāng)庫(kù)克隆到本地诅需,然后添加本地已有文件,即可提交荧库,上傳堰塌。
待續(xù)
...
參考鏈接
<https://www.liaoxuefeng.com/wiki/896043488029600>
<https://www.cnblogs.com/EasonJim/p/8326220.html>