[英]How can I create a branch on a bare repo in Git?
有十二個類似的問題,每個人都發表了很長的答案,試圖說服問問者。
在這種情況下是否可以創建分支?
我不想克隆該存儲庫,只是為了可以在該副本的工作目錄中創建一個分支,將其推送,然后再次刪除整個內容。 將創建此分支的腳本(在檢查其是否存在之后)已經可以訪問Gitolite中的裸倉庫,並且可以直接發出命令。 “ git checkout”抱怨該操作必須在工作樹中執行。
您可以在裸倉庫中進行一些低級別的操作。
git branch
願意在裸倉庫中創建一個新分支。 只需給它一個提交就可以了,您已經為現有的提交指定了新的分支名稱:
cd foo.git
git branch newbranch b6636ec88ba0750aec2706865653eb55031fb892
您還可以使用git update-ref
,它甚至比git branch
更低,並且可以在refs/heads/
命名空間之外創建引用:
git update-ref refs/special/ziggy b6636ec88ba0750aec2706865653eb55031fb892
git update-ref -d refs/special/delete
編輯:並且,您可以使用git symbolic-ref
進行間接git symbolic-ref
,例如:
git symbolic-ref MAGIC refs/tags/v1.3
(通常,這只會使HEAD
成為不同的間接引用;這里的要點是,此命令(如git update-ref
)要求您拼出整個名稱空間名稱)。
那么,讓我們從一個不同的角度出發。
您可以做任何您想裸購的東西。
GIT_DIR
並使用pure-repo命令 GIT_INDEX_FILE
GIT_WORK_TREE
有關相關環境變量的一些文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.