git教學 - visual studio同步github




沒有Git的Windows或Github擴展名的Visual Studio Git源代碼控制 (2)

在團隊資源管理器中,它提示我安裝第三方的git工具,我不打算使用Git命令行,只是Visual Studio的本地GUI克隆,拉,提交,同步,合併,也許問題拉請求。

那麼我需要安裝第三方的Git命令提示工具(或者Github擴展)嗎? 因為我已經安裝了2.10.1,並沒有註意到任何不同。 如果我這樣做,我會得到什麼,如果我不這樣做,我會失去什麼,因為我想要一個乾淨的最小安裝,所有的教程和文檔假設我必須安裝它們。


不,你不需要第三方的git客戶端(Windows的Git應該這樣做)。 但有些命令不能通過Visual Studio(還),例如,您不能檢查reflog,強制推送不可用。

在安裝Git For Windows之後,請確保其安裝路徑位於PATH環境變量中,並且在安裝之後重新啟動Visual Studio。

如果您的Visual Studio版本發布的版本比Visual Studio版本更新,則Visual Studio將無法檢測到它。 在你的情況下,確保你也安裝了Visual Studio 2015 Update 3。

一些背景:

Visual Studio 2013和2015附帶LibGit2和LibGitSharp。 LibGit2是一個在跨平台C / C ++庫中實現大部分標準Git功能的庫。 LibGitSharp是一個託管的包裝。 並不是所有的命令都直接在LibGit2中實現,並不是所有的LibGit2直接在LibGitSharp中公開。

本地整合既有優點也有缺點。 雖然對git.exe進行一些直接操作比使用git.exe更快,但也使內存管理變得更加困難。 此外,本地集成中的任何崩潰或內存洩漏都會減慢或取消整個Visual Studio。

通過與git之間的進程進行交互,每個操作運行在它自己的小進程中,如果在執行期間崩潰或不釋放內存,命令將失敗,但Visual Studio將只看到git.exe是意外關閉,而不會崩潰。

另外,通過直接依賴git.exe,任何可能從git命令行執行的操作都相對容易實現到Visual Studio中,而在過去,某些功能將不可用,並且必須用C#或C ++編碼。

所以,Visual Studio直接實現/暴露了一些git特性,但是有些並沒有公開。 如RefLog,強制推送,存儲,Git流,Cherry Pick等功能目前還沒有通過Visual Studio UI公開。 如果你依靠這些命令,你將需要一個外部的git客戶端。 命令行是這樣一個客戶的最普遍的例子,但也有其他的可以幫助你。 GitKraken,SourceTree,塔和其他人想到


這可能與Edward Thomson 最近的推特 (也是堆棧溢出 )一致:

我不介意@VisualStudio刪除libgit2和移動到git,他們有很好的理由,但“行為不同”原諒它讀取像FUD。

他們轉向git有很好的理由:在VS中維護libgit2是一場噩夢。 (我知道!我曾經這樣做!)

為什麼他們在使用Git for Windows維護人員時(或者在其周圍)攻擊libgit2呢?

他在這裡談論的是Johannes Schindelin ,他於2015年8月被微軟聘用 ,並且正在發布Git for Windows版本

完全有道理讓他們搬家。

所以直到最近,Visual Studio並沒有使用第三方的Git客戶端,但現在它用Visual Studio 15(就像jessehouwing所指出的那樣 ,VS 2015沒有自帶git.exe ,而是使用了庫)。

這是Visual Studio 15 Preview 5 (不是Visual Studio 2015 ,它是v14.25123.xx)
查看ycombinator.com

似乎很遺憾“15”團隊已經放棄了libgit2。 考慮到微軟有貢獻大概所有的貢獻方都有相同的目標(跨平台,功能奇偶等),人們不禁要問,libgit2有什麼不好的地方呢,它已經被拋棄了,轉而使用git.exe。

通過刪除libgit2,他們釋放了一些內存。 很明顯,VS和git的整體內存使用量可能會增加,但VS團隊會被激活,直到內存使用量減少,因為沒有人會優先使它成為一個64位應用程序

OP要求:

事實上,我正在使用VS“15”預覽版5.所以,這意味著我需要安裝Git for Windows,還是已經與VS 15一起發貨? 如果是這樣,為什麼它仍然會提示我安裝它? - Jonny Shih 3分鐘前

jessehouwing回答:

Visual Studio附帶了一個非常小的版本。 但是沒有添加到路徑中 。 所以Visual Studio不依賴於你的安裝。

它安裝在這裡:

為自己的命令行安裝一個git客戶端的最好方法就是在一邊安裝Visual Studio的Git for Windows。 如果你這樣做了,你可以關閉Visual Studio的提示

就我個人而言,我喜歡“安裝”Git只需簡單地解壓縮最新的檔案,如: PortableGit-2.10.1-64-bit.7z.exe任何地方我想要的。







version-control