您好,登錄后才能下訂單哦!
零、說明
本文就以下幾個問題來說明:
1.如何使用git建立倉庫。
2.如何使用git獲取代碼和推送代碼
3.使用web來查看git倉庫代碼。
一、如何使用git建立倉庫。
建立倉庫的步驟很簡單,按以下步驟操作即可.
首先創建git組和用戶
1.groupadd git
2.useradd git -g git
3.passwd git
4.sudo vi /etc/passwd
默認git用戶是沒有設置登陸目錄,切默認腳本為sh,極不好用。修改passwd,找到git的那一行,修改為:
git:x:1001:1001:git:/home/git:/bin/bash
5.sudo mkdir /home/git
6.sudo chgrp git /home/git
7.sudo chown git /home/git
然后,切換到git用戶,建立倉庫
#su git
/home/git #mkidr code
/home/git/code #git init --bare --shared test.git
切換到git用戶,配置ssh
/home/git/code #mkdir .ssh
/home/git/code #mkdir .ssh
/home/git/code/.ssh #echo "#">authorized_keys
切換到客戶端執行,客戶端生成密鑰(以cygwin-64為例,cygwin-32位支持不了ssh登錄)
$ ssh-keygen.exe -t rsa
一路回車,然后可以看到
/home/raynard.wang/.ssh (raynard.wang是我個人的用戶名錄,通常默認ssh-keygen是在用戶的目錄下生成.ssh目錄)
$cd ~/.ssh
$cp id_rsa.pub ../raynard_id_rsa.pub //用一個id來作為前綴,方便管理員識別而已
將raynard_id_rsa.pub復制到git代碼服務器的/home/git/code/.ssh下
切換回服務端,將客戶的公鑰存入authorized_keys。
/home/git/code/.ssh #echo "#raynard.wang" >>authorized_keys
/home/git/code/.ssh #cat raynard_id_rsa.pub>>authorized_keys
/home/git/code/.ssh #cat authorized_keys
就可以看到用戶的公鑰已被導入,再有用戶,就用這樣的方法,將用戶的公鑰append到authorized_keys。
下面就是切換sudo的用戶,將用戶的公鑰應用起來,以ubuntu為例。
#sudo vi /etc/ssh/sshd_config
找到AuthorizedKeysFile這一行,講注釋去掉,將該行修改為
AuthorizedKeysFile /home/git/code/.ssh/authorized_keys
/home/git/code/.ssh/authorized_keys就是剛才存放用戶公鑰的文件
#service ssh restart //重啟ssh服務
接下來就可以給用戶使用test.git倉庫了。
二、使用git倉庫
因為cygwin-32不能作為ssh的終端,所以無法來獲取git倉庫,這里以cygwin 64為例來說明。
//獲取倉庫
#git clone git@git_server_ip:/home/git/code/test.git
正克隆到 'test'...
warning: 您似乎克隆了一個空倉庫。
檢查連接... 完成。
//初始化倉庫
#cd test
#echo "hello,world" >readme
#git add readme
#git commit -m "hello,git"
#git push origin master
對象計數中: 3, 完成.
寫入對象中: 100% (3/3), 222 bytes | 0 bytes/s, 完成.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.16.3.242:/home/git/code/test.git
* [new branch] master -> master
之后就可以直接用git push來上傳代碼了
//如新增加一份代碼test.c
#git add test.c
#git commit -m "add test.c "
#git push
對象計數中: 3, 完成.
Delta compression using up to 4 threads.
壓縮對象中: 100% (2/2), 完成.
寫入對象中: 100% (3/3), 292 bytes | 0 bytes/s, 完成.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.16.3.242:/home/git/code/test.git
6b19c97..93f9071 master -> master
獲取代碼
#git pull
三、用web方式查看和追蹤代碼倉庫
切換到git用戶
#cd code/test.git
#git instaweb -p 8080 //8080為web端口
用瀏覽器查看
http://172.16.3.242:8080/
172.16.3.242是我測試用ip。
到這里就完成最基本的訪問了,更多git命令的使用,如創建tag/branch等,請baidu或google吧。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。