近期上了Redmine以后、系統集成了Git的聯動功能、于是萌生了搭建內網倉庫的想法、特此記錄一下:
1. 安裝git
先是git源碼編譯
https://www.kernel.org/pub/software/scm/git/
下載最新版本git(.gz)到/usr/local
安裝
tar -zxf git-2.2.1.tar.gz cd git.2.2.1make prefix=/usr/local/git allmake prefix=/usr/local/git install
源碼編譯是不如
yum install git-all
方便,但是版本可以更新點,筆者用的阿里CentOS6.5,對應的git版本只能到1.7.2
自己裝的git沒有在系統PATH環境里,用修改 /etc/profile
的方法手動貼入
vim /etc/profile#找到 PATH=/usr/local/php/bin:$PATH 這行修改為PATH=/usr/local/php/bin:/usr/local/git/bin:$PATH#保存,退出shell重新連接就生效了
或者直接用yum
yum -y install git
2. 創建用戶git
groupadd git adduser git -g git12
3. 創建authorized_keys文件
cd /home/git mkdir .ssh chmod 700 .ssh touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys cd /home chown -R git:git git1234567
要注意的是文件權限和所屬用戶。
(后續的git clone如果需要密碼,很有可能是git用戶沒有訪問authorized_keys文件的權限)
4. 客戶端創建密鑰并上傳
看清楚了,要在客戶端運行如下命令。
ssh-keygen -t rsa -C "your_email"1
該命令會產生兩個文件: id_rsa對應私鑰,id_rsa.pub對應公鑰。
將id_rsa.pub中的內容寫到服務器的authorized_keys文件中。
如果有多個客戶端,那么在authorized_keys文件中,一行保存一個客戶端的公鑰。
5. 創建git倉庫
為了方便管理,所有的git倉庫都置于同一目錄下,假設為/home/gitrepo,
cd /home mkdir gitrepo chown git:git gitrepo123
接下來,創建我們的第一個git倉庫:sample.git,
cd gitrepo git init --bare sample.git12
最后一步,把倉庫所屬用戶改為git。
chown -R git:git sample.git
到此,git服務器搭建完畢。
PS:
以后每創建一個新的倉庫,記得最后一步操作: 修改倉庫所屬用戶為git。
轉自:CentOS搭建git服務器 http://www.cnblogs.com/gattaca/p/6252416.html
查看系統用戶組
-d:指定字段的分隔符,默認的字段分隔符為“TAB”;
-f:顯示指定字段的內容;
cut -d: -f1 /etc/group
2. 查看系統用戶
cut -d: -f1 /etc/passwd
3. clone倉庫
git clone git@your_gitServer_ip:/home/gitrepo/sample.git
4. push已有倉庫
// 以master分支示范
git checkout master
git remote rm origin
git remote add origin git@your_gitServer_ip:/home/gitrepo/sample.git
git push -u origin master
同步代碼庫代碼到WEB目錄
cd /home/gitrepo/sample.git/hooks/ vi post-receive 輸入 #!/bin/bash git --work-tree=/data/wwwroot checkout -f12345
PS:客戶端push到服務器時,會把代碼同步到wwwroot目錄下,前提是:git用戶有wwwroot文件夾寫入的權限
文章知識點與官方知識檔案匹配,可進一步學習相關知識
CS入門技能樹Git入門Git簡介283 人正在系統學習中
來源:https://blog.csdn.net/u012323576/article/details/76209784
來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利
蘇公網安備32010402000125
蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司
南京思必達教育科技有限公司版權所有 百度統計