這是不是關於隱藏.git
文件夾的問題 !!我怎樣才能生成git的* FILE *和它是如何的(de)構建的?
我的理解
我通常使用GitHub的大多數我的Git的工作。當與遠程服務器的工作,可能我我推,並獲取這樣配置:
$git remote -v
origin [email protected]:<my_org>/<my_repo>.git (fetch)
origin [email protected]:<my_org>/<my_repo>.git (push)
這裏的問題是專門關於<my_org>/<my_repo>.git
文件。
我知道它「包含」存儲庫所需的所有機器:文件,索引,掛鉤,引用等。我一直在「想象」它是一個分層的zip文件,實質上就是整個存儲庫,因爲它會在本地看,如果我要壓縮一切。
我的問題
- 我的理解是否正確?是
<blah>.git
文件只是一個倉庫的拉鍊?我如何生成它? - 爲了構建/解構它,每次我要麼
git init
和git push
或每次我git clone
git做什麼? (這是真的只是一個壓縮和解壓?) - 有什麼辦法來創建這個結構我自己?例如,是this GitHub上是如何做的對他們的最終(或多或少)?
- 我可以使用相同的
git init -g
命令或類似的東西來創建.git
文件。
- 我可以使用相同的
- 此
<blah>.git
文件的文檔(超出上面的鏈接)在哪裏?- 我搜索了一會兒,但
".git"
上的所有內容都會顯示隱藏的目錄,而不是文件。
- 我搜索了一會兒,但
- 如果我在我的機器上創建了這個
<blah>.git
文件,其他人可以使用我的機器作爲遠程存儲庫嗎?- 換句話說,我怎麼會創造一個機和文件/文件夾結構,像別人遠程倉庫?
你的問題似乎很廣泛,但如果你只是想將一個版本庫複製到一個新的位置,你只需要複製'.git'文件夾即可。 –
正如@ElpieKay所說,它不是一個文件,而是一個目錄。裸存儲庫'foo.git'的內容與非裸存儲庫'foo'中'.git'的內容相匹配,只是'config'文件的'core.bare'設置爲'true'。 (但是從現有的非純粹克隆中設置它的最好方法是'git clone --bare',也可以設置'core.shared'。)要將它用作服務器,您的機器必須允許一些訪問類型,無論是ssh,http,通過'git://'協議,或其他。 – torek