Linux下TortoiseGit 組態管理環境搭建

來源:互聯網
上載者:User

RedHat Git伺服器安裝
安裝前準備
需要安裝zlib,curl,rsync,libcrypto.
可以用# rpm -qa|grep zlib 命令檢查
安裝配置
1. 下載git-1.7.8.rc3.tar.gz
2. 解壓後執行
   #configure --prefix=/usr/local/git
   #make
   #make install
3. 將/usr/local/git/libexec/git-core 和/usr/local/git/bin加入PATH
4.git軟體安裝完成後,該 建立git庫
a)#cd repos-home
 #git-init-db
如果是建立bare目錄,目錄名字通常以.git結尾
 #git --bare init
b)追蹤檔案
 git-add 和 git-update-index
c)提交檔案
 $ git-commit -a -m "new day for git"

Windows Git用戶端安裝
安裝
由於tortoiseGit是對msysgit的封裝,所以在安裝tortoiseGit前需要安裝msysgit
從http://code.google.com/p/msysgit/下載Git-1.7.4-preview20110204.exe後安裝
從http://code.google.com/p/tortoisegit下載tortoisegit.msi後安裝
選擇tortoisePlink用於與git伺服器的ssh串連,
配置ssh互連
Git用戶端與伺服器端代碼上傳必須用ssh協議,所以需要配置兩台機器支援ssh密鑰直接登陸。
a) 在Linux伺服器上建立一個git帳號,用於多人使用。
/home/git 下建立.ssh目錄(注意,是.ssh。。有個點!)
chmod 700 -R .ssh

b) 在Windows中使用c:\program files\git\bin\ssh-keygen -t rsa 產生密匙和公匙,即id_rsa 和 id_rsa.pub
c) 將id_rsa.pub 拷貝到Linux伺服器的/home/git/.ssh/中,添加到authorized_keys檔案後,如果沒有這個檔案可以如下建立:
#cat id_rsa.pub > authorized_keys
將authorized_keys 許可權改為600
修改/etc/ssh/sshd_config
RSAAuthentication yes            #開啟RSA認證功能
PubkeyAuthentication yes      #開啟公匙認證
AuthorizedKeysFile      .ssh/authorized_keys
d) 測試是否可以不用口令登陸Linux伺服器
c:\program files\git\bin\ssh -i id_rsa root@192.168.6.131 echo $PATH

e) 轉換公開金鑰格式,以便TortoisePlink.exe 可用

執行C:\Program Files\TortoiseGit\bin\puttygen.exe, 選load按鈕載入id_rsa後,儲存

執行TortoisePlink.exe -i c:\id_pri.ppk root@192.168.6.131 echo $path 測試不需要口令登入

從伺服器clone版本庫

右鍵點擊目錄,選擇git-clone,

從伺服器端clone版本庫後,即可在工作目錄開始工作。

常見問題:

Q: 在clone時出現以下問題bash: git-upload-pack Command not found
A: 該問題是由於伺服器端環境變數PATH無法找到git-upload-pack程式。
    與ssh互動登入不同,無密碼登入後.bash_profile中的環境變數沒有生效,因此需要採取以下步驟。

   修改Linux上sshd進程的設定檔(一般為/etc/ssh/sshd_config,請用sshd -V確認)。增加如下配置行:
PermitUserEnvironment yes
此外在.ssh目錄下編輯組建檔案environment,內容可以考慮和.bash_profile相同,但不需要執行export
之後重啟採集機上的sshd守護進程。Kill -HUP sshd

   現在再用c:\program files\git\bin\ssh -i id_rsa root@192.168.6.131 echo $PATH確認PATH環境變數是否生效。

常用命令
初始化git資料庫
$ git-init-db
添加檔案
$ git-add hello.c
查看修改、提交記錄
$ git-log
建立分支
$ git-branch roredu
查看分支
$ git-branch
* master
roredu
切換工作分支
$ git-checkout roredu
Switched to branch "roredu"
$ git-branch
master
* roredu
提交到當前工作分支並書寫標記。
$ git-commit -a
建立xux分支對於master的補丁檔案。
$ git-format-patch master roredu
配置開發人員自己的簽名和email。
$ git-config --global user.name "roredu"
$ git-config --global user.email "roredu@gmail.com"
修改檔案名稱
$ git-mv roredu.c helight.c
刪除檔案
$ git-rm roredu.c
合并:
切換到master,再選擇Merge

如何clone版本庫

cd /slview

git clone root@localhost:/slview/git-repos git-workhome

錯誤:

bash: git-upload-pack: command not found
fatal: The remote end hung up unexpectedly

解答:

[root@localhost code]# ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack 

 錯誤:

remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match

解決:

用git --bare init 建庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.