2013-01-15 62 views
8

Git newb問題在這裏。來自SVN,我可以有多個分支簽出所有的地方(「/ www/project1」,「/ users/project2」等),但都住在同一個存儲庫中。每個分支都有它自己的提交,修訂等等。你們知道這筆交易。在多個位置的目錄單Git回購

在Git中有沒有類似的方法,你可以在一個單一的回購中的目錄/分支遍佈全球?再次,對於新問題感到抱歉。試圖找到一個小珠子。感謝大家提供的任何見解,可以在這裏提供。

+0

通常,由於檢出和合並過程非常快,所以使用Git的開發人員會保留所有分支,並在它們之間在同一個文件夾中進行切換。 SVN分支系統非常慢,並不是很好,這就是爲什麼他們通常將它們保存在不同的文件夾中。 –

回答

4

通常,由於檢出和合並過程非常快,所以使用Git的開發人員可以保留所有分支並在相同的文件夾中在它們之間切換。 SVN分支系統非常緩慢,並不是很好,這就是爲什麼他們通常將它們放在不同的文件夾中。

有可能檢出一個分支到不同的文件夾:

git --work-tree=<path to target> --git-dir="<path from source>" checkout <reference-name> 
# example: 
git --work-tree=. --git-dir="/base-repo/.git" checkout master 

但是請注意,這個新的文件夾將不進行版本控制。爲了保持它的版本,你可以重新克隆在另一個文件夾回購:

git clone path/to/local/repo/.git 

注意,在git的,每個克隆是完整的回購(有你的服務器上,並在其他文件夾中的完全一樣的東西) 。每個克隆都是完全獨立的,可以從其他任何回購站點推入/拉出。

希望這會有所幫助!

0

Git是一個分佈式控制版本。所以,你可以有本地分支機構和遠程分支機構。要創建本地分支,請使用命令git branch name,其中名稱代表您的分支名稱。要查看所有本地分支機構,可以使用命令git branch。它會列出所有分行和當前分行。要在本地分支之間切換,請使用命令git checkout name,其中name代表您的分支名稱。

要將本地分支發送到遠程存儲庫,請使用命令git push origin name,其中name代表分支的名稱。要將本地分支複製到您的計算機,請使用命令git checkout -t origin/name

相關問題