2016-11-24 73 views
-2

創建本地程序存儲庫我是新來的git
我有一個遠程的Git倉庫。我想創建一個與遠程相同的本地存儲庫(所有分支和標籤都與遠程相同)。
我想在我的本地存儲庫上測試我的git命令,然後我可以將它推送到遠程。
很多貼子我都看過人們在講什麼克隆或鏡像,但那不適合我。使用Git一樣的遠程程序存儲庫(本地的Git服務器相同遠程)

local rep <---> remote rep -> all branches <===> -> all branches -> all tags <===> -> all tags

現在我想用我的本地庫服務器

git clone "D:\localrep\"應該具備的所有功能(分支,標籤&歷史)遠程服務器

+0

爲什麼git clone不起作用? –

+0

@ J.Baoby。 1.我克隆到D:\項目(它已成爲git回購)。 2.當我嘗試從「D:\ project」克隆時,我沒有得到我可以在遠程看到的分支。請回復我,如果不明白我的情況 –

+0

當我再次從我的本地回購克隆到本地我想看到所有的分支和標籤相同的遠程服務器 –

回答

0

正如我已經告訴你了評論,git clone不會(據我所知)自動爲您在本地創建所有分支機構。 您可以使用git branch檢查您本地存儲庫中的所有分支。

$ git branch 
* master 

這裏這個git倉庫只有一個分支:master分支。如果你用git clone克隆它,它會看起來像。
如果您想檢查本地存儲庫知道存在哪些遠程分支,您可以運行git branch -a。遠程分支將採用以下格式:

$ git branch -a 
* master 
    remotes/origin/HEAD 
    remotes/origin/master 
    remotes/origin/other_branch 
    remotes/origin/branch_two 

帶「remotes /」的那些是遠程存儲庫中的分支。所以在這裏你看到遠程倉庫origin擁有3個分支(remotes/origin/<branch_name>):master,other_branch和branch_two。 如果你希望他們在本地以及你必須創建它們,與git checkout -b例如:

git checkout -b <new_local_branch> <remote_repository>/<remote_branch_name> 

你跟在remotes/之後的部分替代<new_local_branch>你希望它在你的本地庫中的名稱和<remote_repository>/<remote_branch_name>輸出爲git branch -a
例如創建分支other_branch localy作爲遠程分支機構的名稱相同的副本,你只是做:

git checkout -b other_branch origin/other_branch 

然後你會看到的git branch輸出將是

$ git branch 
master 
* other_branch 

如果你想自動執行它,你可以創建一個基於如下命令的輸出git branch -a的命令:

git branch -a | grep "remotes/origin" | egrep -v "origin/(master|HEAD)$" | \ 
    sed "s:remotes/\([^/]\+/\(.\+\)\)$:git checkout -b \2 \1:" | bash 

這一個將在本地創建除主分支之外的所有分支。如果還有其他分支,則不需要在「()」之間的egrep的正則表達式中添加它們,用「|」分隔。

+0

非常感謝你這是我期待的。可能是我的問題不清楚。我不知道爲什麼人們給它一個負面的觀點。 –

+0

這是我的榮幸!是的,這可能是你的問題不夠清楚!有些人可能特別嚴格和嚴厲 –

相關問題