windows - here - tortoisegit教學



Windows上的msysgit-我應該注意什麼,如果有的話? (4)

在Windows上使用Windows GUI並創建第一個存儲庫時,請不要為存儲庫目錄鍵入名稱“.git”。 (然後它將創建,然後在它下面創建另一個.git文件夾,當你最終想到那裡時)瀏覽到包含源代碼的文件夾,然後 - 只需選擇該文件夾! 將為您創建存儲庫目錄“.get”。

然後,您將看到未分階段更改中的文件,並通過單擊文件名旁邊的小頁面圖標,將其移動到分階段更改中。

並且肯定用剪刀運行並選擇選項3.沒有人使用命令窗口行中的kill,sort或find。

這與最近提出的另一個問題有關。

安裝msysgit時,安裝程序會顯示與系統路徑相關的3個選項:

  1. 永遠不要改變Windows環境。 使用此選項,您必須使用“bash”shell來使用git。

  2. 將git \ bin目錄添加到PATH環境變量,但不覆蓋一些內置的Windows工具。 stackoverflow-ian Gabe Moothart 在評論告訴我 ,這個選項會讓一些git操作失敗! 這些操作是什麼? 我應該擔心嗎?

  3. 與2相同但覆蓋一些默認系統工具。 這些工具是什麼? 窗戶的哪些部分依賴於它們? 這會傷到實踐嗎?

我想到了另一個問題,與系統PATH無關。

如果我的項目目錄中有符號鏈接和硬鏈接怎麼辦? git知道如何處理這些嗎? 或者,它是否會遭受無限遞歸,如果說,目錄結構是這樣的,某些文件夾實際上是其父親之一的符號鏈接?


Answer #1

在Windows上(這在其他系統上不是問題,在我非常謙虛的意見中......),你必須非常清楚crlf問題,並註意(除非他們在最新版本的Git中改變了這一點,我認為他們可能有 - 或者如果您使用的是非常舊版本的Git),默認情況下會啟用autocrlf,這與其他所有git安裝不同。

另請注意,除非您使用最新版本的msysgit,否則如果我從郵件列表中正確回憶,本週即將結束,您的存儲庫大小不能超過2GB,總數。

此外,Windows在很大程度上不區分大小寫,但有時/保留大小寫 - 請記住這一點! (這不會混淆git - 但它可以並且確實混淆了git repo的用戶)。

最後,git在Windows上比在linux上慢得多,儘管它(在我有限的經驗中)比替代品更快。

現在,關於路徑......

除非我弄錯了,你應該能夠確保主要的git二進製文件在路徑中 - 然後該二進製文件應該負責引用其他git組件...但我還沒有測試過。


Answer #2

您可能想要注意:

  • 所有的git命令都不存在。 在2009年3月初的MSysGit1.6.2上:archimport,cvsexportcommit,cvsimport,cvsserver,filter-branch,instaweb,send-email和shell。)

  • 直到MSysGit1.6.2,git-svn 不存在現在是 )。
    問題是git-svn需要subversion的perl綁定,你只能將它們構建為動態可加載模塊。 MSysGit有一個不支持動態可加載模塊的perl版本。

  • 關於MSysGit的所有細節都在他們的MSysGitHerald Github wiki中得到了最好的解釋


Answer #3

無論你選擇哪個選項,你都會得到bash ,後面的選項只是添加了在它之外使用Git的方法。

對於後一種選擇, msysgit將常用Linux實用程序的Windows版本添加到PATH 。 這包括findkillsort ,以及cplsrm和大約20-30個其他人。

前三個(和類似的)的問題在於它們存在於兩個OS中並且在每個OS中具有不同的功能。

如果你知道你將使用哪一個,那麼這並不是一個巨大的考驗,但是任何開發出來的應用程序都會期待一個並且獲得另一個應用程序肯定會變得合適。

為了防止衝突,在仍然按預期運行Git的同時,您可以創建一個簡單的批處理腳本,僅為會話調整PATH 。 (例如, readygit.bat

@echo off
setlocal
set PATH=C:\Git\bin;%PATH%
cmd

相應地調整C:\Git\bin 。 但是,只需運行它並在cmd使用Git。

有了這個,您可以使用安裝選項3並安全地從系統的PATH刪除C:\Git\bin ,消除對Windows應用程序的任何混淆,而不會混淆Git。

我目前使用與GnuWin應用程序類似的腳本,包括find





msysgit