Git 相關命令
Author : Janloong Do_O
基本配置
git推送
git默認不會把tag推送到遠程倉庫,需使用命令
git push origin [tagname]
一次將所有tag推送
git push origin –tags
git遠程倉庫拉取
git clone [email protected]:Janloong-Doo/hacker.git
ssh祕鑰生成
~$ ssh-keygen -t rsa -C "[email protected]"
ssh-keygen -t rsa -b 4096 -C "[email protected]"
github連接測試
ssh -T [email protected]
配置github用戶名郵箱
git config --global user.name "NAME"
git config --global user.email "EMAIL"
查看git設置
git config --list
Git服務器搭建
$ sudo apt-get install git
添加git用戶(系統級用戶)
$ sudo adduser git
可使用 su git 切換測試是否成功
證書導入
/home/git/.ssh/authorized_keys
初始化一個裸倉庫
$ sudo git init --bare sample.git
修改git倉庫所屬用戶爲配置的git用戶
sudo chown -R git:git [path]
$ sudo chown -R git:[git] sample.git
禁用shell登錄
修改 /etc/passwd 文件:
將:
git:x:1000:1000:,,,:/home/git:/bin/bash
改爲:
git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell
Gitosis管理公鑰
待補充
Gitolite管理權限
安裝
sudo apt-get install gitolite3
添加一個git用戶
sudo adduser --system --shell /usr/bin/zsh --gecos 'git version control' --group --disabled-password --home /home/git git
設置gitolite
sudo su - git
git用戶下
gitolite setup -pk /tmp/git-admin.pub
管理gitolite
切換回本地
git clone git@qcloud-cvm-ip:gitolite-admin
添加新用戶
cp /path/to/username/public/key.pub ~/gitolite-admin/keydir/username.pub
git add keydir/pythontg.pub
git commit -m 'New user username added'
git push
配置權限
警告信息,該信息表示新用戶沒有在配置文件中出現。這意味着,雖然 Gitolite 已經知道新建了這麼一個用戶,但是還沒有爲新用戶創建任何權限。
remote:
remote: ***** WARNING *****
remote: the following users (pubkey files in parens) do not appear in the config file:
remote: pythontg(pythontg.pub)
編輯 ~/gitolite-admin/conf/gitolite.conf 文件,併爲其創建一個新倉庫:
repo gitolite-admin
RW+ = git-admin
repo testing
RW+ = @all
repo username
RW+ = username
權限說明
權限的定義如下:
R 表示只讀
RW 表示可讀或推送更改,但不能刪除 git ref
RW+ 表示可讀、可寫,而且可以刪除 git ref
倉庫克隆
git clone git@qcloud-cvm-ip:username