簡體   English   中英

如何在Git的裸倉庫中創建分支?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM