windows下使用git總結

來源:互聯網
上載者:User

標籤:

一、在window下搭建git伺服器


1、cyswin這個類比環境。這個包裡面已經有git服務了(目前我的git就是在這個裡面。)

2、同時還需要sshd伺服器才行。包裡面也有了

3、git伺服器與sshd伺服器的關係

git伺服器如果以ssh協議來串連的話,則不需要這樣的形式:專門啟動git伺服器作為一個進程,偵聽某個連接埠。



思路為:只需要配置好sshd伺服器,偵聽某個連接埠,重點把公開金鑰加到authorized_keys去。變成了,以ssh用戶端串連sshd伺服器的形式了。
能不能串連,就看authorized_keys中的公開金鑰是否匹配了。


ssh公開金鑰生效,.ssh目錄的許可權必須是0700, .ssh/authorized_keys檔案許可權必須是0600

git clone ssh://[email protected]:/path/test.git/

git用戶端應該會串連ssh伺服器,然後拿"/path/test.git/"





4、在cyswin下配置shhd步驟
在syswin控制台輸入
ssh-host-config -y  #將sshd註冊為系統服務,並設定成為自動啟動。

在syswin控制台輸入

net  start|stop sshd

好像是:sc start sshd

or sc  sshd  start
如果有問題,可以刪除服務,重新安裝

刪除服務:sc delete sshd

經驗:能夠使用net,關鍵是在運行ssh-host-config的時候,是否輸入了damon的名稱。






\etc\sshd_config配置。


公開金鑰是加到
home\Administrator\.ssh\authorized_keys











二、在window下使用git用戶端


這種形式只是用戶端,git服務端可能在本地的window下,也可能在遠端linux平台上。


git bash就是一個git用戶端。

去http://msysgit.github.io/網站上下載一個"git for windows",這個是已經編譯好的二進位。

git for windows是免編譯的,因為已經預先編譯成適應window平台的二進位。所以能夠直接點擊下一步這樣的方式來安裝。

與msysGit不是同一個東西。


msysGit的首頁提供了兩個項目:Git for Windows和msysGit。



安裝好git for window後。這個軟體會有兩個組件:git bash 和 git gui。






注意點

1、在安裝的時候會要求選擇哪個作為ssh用戶端。有兩個供選擇:plink 和 openssh(這個是預設的)

用戶端選擇不同,會影響密鑰的解析方式。選擇openssh。


echo $GIT_SSH
查看使用的是哪個用戶端。


2、如果已經安裝好後,要修改ssh用戶端。在git bash命令列下輸入:export GIT_SSH=‘/f/installsoft/Git/git-for-windows/bin/ssh.exe‘

這種只是臨時修改。要永久生效的話,把這一句加入到\git-for-windows安裝目錄\etc\profile檔案中去

export GIT_SSH=‘/f/installsoft/Git/git-for-windows/bin/ssh.exe‘

修改profile檔案後,需要運行"source \etc\profile"才會生效




運行 git [email protected]:test.git

git bash會按照設定的ssh用戶端去串連sshd伺服器。



是使用什麼私密金鑰發給服務端呢?如果使用ssh.exe作為ssh用戶端的話,則是~/.ssh/config檔案裡面配置的。


3、產生公開金鑰

ssh-keygen -t "[email protected]" -f /f/install/Git/mykey/id_rsa_first

如果沒有指定-f,預設是產生到~/.ssh/目錄下,預設名稱是id_rsa(id_rsa和id_rsa.pub兩個檔案,對應是私密金鑰和公開金鑰)



建議使用純命令列功能。因為圖形介面形式下,有些功能沒有實現。使用純命令能夠方便知道原理。



git config --global user.name ‘wangtao‘
git config --global user.email [email protected]
設定配置

 

三、整理市面上工具之間的關係

 

http://git-scm.com/download 這個才是git的官網

這個是一個用戶端工具的官網:http://msysgit.github.io/。這個其實就是把git做成方便window下面使用的。整合了:git bash 和 git gui。

msysgit是 Git 版本控制系統在 Windows 下的版本。

Historically, Git on Windows was only officially supported using Cygwin. To help make a native Windows version, this project was started, based on the mingw fork.
只能運行在 Cygwin 下的 Git。
包括了:git bash、git gui

msysGit 有個簡單的 GUI 工具,及簡單的 Explorer 整合;但它內建的 Bash 非常好用,深得 Linux 的真傳。

GitHub 使用 git 分布式版本控制系統,而 git 最初是 Linus Torvalds 為協助Linux開發而創造的,它針對的是 Linux 平台,因此 git 和 Windows 從來不是最好的朋友,因為它一點也不像 Windows。GitHub 發布了GitHub for Windows,為 Windows 平台開發人員提供了一個便於使用的 Git 圖形用戶端。


安裝tortoisegit之前,必須要安裝msysgit

有人說:TortoiseGit 是對 msysGit 命令列的封裝,因此需要先安裝 msysGit。

為什麼TortoiseGit不像TortoiseSVN一樣,把SVN命令列工具整合在安裝包中呢?我猜想是以下幾點原因:

    Git官方從未出過Windows版本二進位包;
    msysGit和TortoiseGit是兩個不同的團隊開發的;
    msysGit和TortoiseGit的更新周期差異較大;
    TortoiseGit團隊希望安裝包更小;
    TortoiseGit團隊給使用者更靈活的選擇Git版本的權利。


TortoiseGit 只是 GUI 工具,使用它需要先安裝 msysGit,這是正宗的 Git 之 Windows 版本。msysGit 有個簡單的 GUI 工具,及簡單的 Explorer 整合;但它內建的 Bash 非常好用,深得 Linux 的真傳。


Tortoisegit提供了良好的介面操作GIT,底層實際使用Git-1.7.4用戶端完成所有GIT功能

Git-1.7.4, 這個是GIT用戶端,可以在GIT的官方網站上下載

Tortoisegit與msysgit是什麼關係?最終都要依賴於git?
我可以理解這兩個東西都是針對windows使用者更好使用git服務的。

TortoiseGit是Windows下不錯的一款Git用戶端工具,在Mac下推薦使用sourcetree(sourcetree不支援windowxp,只支援window7)
SourceTree是Mac平台上一款著名的Git GUI工具,也推出了window下的版本(win7)。
mac下還有Tower,是一個功能強大的Git用戶端。


git gui CLIENTS:是一個統稱。沒有特別指哪個作業系統平台。它就是git用戶端的圖形化版本。其實就是省去了命令操作。做成圖形化。在git的官網上就列出了很多git gui CLIENTS。GUI Clients這是官網的稱呼。官網對所有git用戶端,進行了圖形化都叫做git GUI Clients。官網上列出來市面上所有平台的圖形化用戶端。有linux的也有windows下的。


git gui則是window下的git服務端圖形管理工具。在msyssit安裝後就會存在兩個:git bash 和 git gui(以圖形化管理服務端版本的)


兩個稱呼:git bash 和git gui。git gui嵌入了git bash。


window版本的git服務端:msysgit、gitstack

這麼理解:因為git官方只提供源碼包進行編譯安裝。沒有專門針對window來做安裝。不友好。於是有的公司就自己做了基於window的版本,比如msysgit。

正如msysgit官網說的:We bring the awesome Git SCM to Windows。


window版本的git用戶端(分圖形介面和shell介面的):git bash、TortoiseGit、GitHub for Windows、SourceTree

其他動作系統下的git gui工具:

1、GitHub這個公司還做了針對mac系統下的圖形用戶端,GitHub for mac。要區分一下,所以叫做for windows
2、tower
3、Gitbox
4、GitX-dev

5、gitg linux平台下的圖形用戶端。

Git comes with built-in GUI tools for committing (git-gui) and browsing (gitk)

內建的gui 工具用來提交和瀏覽版本。

幾個ssh用戶端:

TortoisePLink,是一個ssh用戶端。

還有openssh,這是烏龜git內建的ssh用戶端。TortoisePLink來自於putty這個軟體。

安裝git的時候,會提示使用plink用戶端還是openssh用戶端。

windows下使用git總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.