準備工做:git
一、 git-1.8.1.2-preview20130201.exegithub
下載地址:服務器
https://code.google.com/p/msysgit/downloads/listless
二、 Copssh_4.1.0_Installer.exessh
下載地址:gitlab
http://download.csdn.net/download/zzjzmdx/4636227測試
三、 TortoiseGit-1.8.5.0-64bit.msifetch
下載地址:this
https://code.google.com/p/tortoisegit/wiki/Download?tm=2google
服務器系統:Windows Server 2003 SP2
客戶端系統:Windows 7 SP1
服務器端安裝及部署
一、安裝Git
此處選擇默認安裝
此處選擇第三個,不去轉換成unix的代碼風格
完成安裝
二、安裝SSH及配置用戶
安裝在根目錄下,避免路徑中有空格,形成沒必要要的麻煩
此處是設置SSH的賬號密碼
安裝好後提示經過「COPSSH Control Panel」添加用戶
完成安裝
開始配置SSH用戶
選中「Users」選項卡,點擊Add按鈕添加用戶
選擇用戶名,此處能夠選擇剛剛安裝SSH時設置的「SvcCOPSSH」用戶,也能夠本身新建一個用戶來操做,本教程新建了一個GitAdmin的用戶做爲管理帳戶。
安裝完成後還有兩個操做:
一、將Git安裝目錄D:\Program Files\Git\libexec\git-core文件夾下的git-upload-pack.exe、git.exe、git-receive-pack.exe和git-upload-archive.exe這4個文件複製到SSH的安裝路徑D:\ICW\bin下。
二、將Git安裝目錄D:\Program Files\Git\bin\libiconv-2.dll複製到D:\ICW\bin下。
三、鏈接Git版本庫
進入SSH安裝目錄下的bin文件夾,調用ssh.exe文件,輸入如下代碼:
「ssh GitAdmin@你的服務器名稱或者IP地址」
鍵入yes
輸入密碼
看到這個界面,表明鏈接成功。此時你已經經過SSH協議鏈接上了Git。
四、建庫操做
登陸完成後,此時的實際路徑是在D:\ICW\home\GitAdmin
建庫操做步驟以下:
mkdir testgit //建立testgit文件夾
cd testgit //進入testgit文件夾
git init //版本庫初始化,會以testgit爲庫名創建一個新庫
touch first.txt second.txt //建立first.txt和second.txt文本文檔
git add . //將文件添加至Git
git config –global user.email 「you@example.com」//設置郵箱地址
git config –global user.name 「Your Name」 //設置用戶名
git commit –m 「init」 //將修改提交至Git
cd ~/.ssh //進入.ssh文件夾
ssh-keygen –t rsa –C 「you@example.com」 //生成公鑰,默認名稱爲id_rsa
至此,服務器端的安裝與配置完畢。
注:Git默認設置克隆版本修改master版本內信息後不能提交修改,如需開放權限,要修改.git/config文件後面添加以下代碼:
[receive]
denyCurrentBranch = ignore
客戶端安裝與配置
一、安裝Git
安裝步驟與服務器端相同。
二、安裝TortoiseGit
安裝完畢
此時在你的電腦鼠標右鍵就能看到Git已經集成到了系統快捷操做中。
三、配置TortoiseGit
首先設置TortoiseGit>Settings>Network中SSH client的值爲」d:\Program Files(x86)\Git\bin\ssh.exe」。
新建測試local文件夾,右鍵選中Git Clone選項,會彈出對話框,輸入正確的URL,選擇Web方式,選好本地的文件夾,點擊肯定。
URL正確的話,會彈出輸入密碼界面,輸入正確後,會將庫信息克隆到本地。
看到Success,恭喜你,你已經獲取到了服務器上的庫信息。
以上轉載http://blog.csdn.net/aaron_luchen/article/details/10498181
-------------------------------------------------------------------------------------------------------------------------------------------
問題:TortoiseGit disconnected no supported authentication
今天,我發現一個從遠程服務器上獲取到的工程,用Git沒問題,而TortoiseGit報錯:
Disconnected: No supported authentication methods available(server sent: publickey)
由於TortoiseGit和git的衝突。 改正以下:
一、TortoiseGit -> Settings -> Network
二、將SSH client設置成 Git\bin\usr\ssh.exe
而後,TortoiseGit 就能夠正常工做了!
-------------------------------------------------------------------------------------------------------------------
在圖形界面中,執行拉取操做時,出現下面的錯誤。
You asked to pull from the remote 'origin', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
解決辦法:
Edit your .git/config
[branch "master"] remote = origin merge = refs/heads/master
Now you can simply git push and git pull.
-------------------------------------------------------------------------------
$ git remote
bixiaopeng@bixiaopengtekiMacBook-Pro wirelessqa$ git remote origin
$ git remote -v
bixiaopeng@bixiaopengtekiMacBook-Pro wirelessqa$ git remote -v origin git@gitlab.***.com:xiaopeng.bxp/wirelessqa.git (fetch) origin git@gitlab.***.com:xiaopeng.bxp/wirelessqa.git (push)
$ git remote -v <remote-name>
bixiaopeng@bixiaopengtekiMacBook-Pro wirelessqa$ git remote show origin * remote origin Fetch URL: git@gitlab.****.com:xiaopeng.bxp/wirelessqa.git Push URL: git@gitlab.***.com:xiaopeng.bxp/wirelessqa.git HEAD branch: master Remote branch: master tracked Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (local out of date)
$ git remote add [remote-name] [url]
bixiaopeng@bixiaopengtekiMacBook-Pro robotium$ git remote add test git://github.com/paulboone/ticgit.git bixiaopeng@bixiaopengtekiMacBook-Pro robotium$ git remote -v origin https://github.com/RobotiumTech/robotium (fetch) origin https://github.com/RobotiumTech/robotium (push) test git://github.com/paulboone/ticgit.git (fetch) test git://github.com/paulboone/ticgit.git (push)
$ git remote rm [remote-name]
bixiaopeng@bixiaopengtekiMacBook-Pro robotium$ git remote rm test bixiaopeng@bixiaopengtekiMacBook-Pro robotium$ git remote -v origin https://github.com/RobotiumTech/robotium (fetch) origin https://github.com/RobotiumTech/robotium (push)
$ git remote set-url --push [remote-name] [newUrl]
$ git remote rename <old-remote-name> <new-remote-name>
$git fetch [remote-name]
說明:
$ git pull [remote-name] [本地分支名]
說明: 通常咱們獲取代碼更新都是用Git pull, 目的是從原始克隆的遠端倉庫中抓取數據後,合併到工做目錄中的當前分支
$ git push [remote-name] [本地分支名]
說明: 只有在所克隆的服務器上有寫權限,或者同一時刻沒有其餘人在推數據,這條命令纔會如期完成任務。 若是在你推數據前,已經有其餘人推送了若干更新,那你的推送操做就會被駁回。你必須先把他們的更新抓取到本地git pull,合併到本身的項目中,而後才能夠再次推送。
$git push origin test:master // 提交本地test分支做爲遠程的master分支 $git push origin test:test // 提交本地test分支做爲遠程的test分支