簡體   English   中英

如何更改--bare從git本地的遠程分支

[英]how to change branch on --bare remote from local in git

我正在嘗試在遠程--bare存儲庫上建立一個鈎子,該存儲庫將根據我要發送到的分支將我從本地git發送的源代碼復制到不同的文件夾中。 我在本地有3個分支:master,development和release,所以我希望在遠程有3個文件夾,其中包含每個分支的源代碼。 我發現使用:

git rev-parse --abbrev-ref頭

結合一系列if條件可以解決問題。 唯一的問題是,無論您發送到哪個分支,HEAD在遠程上都保持不變。 掛鈎中是否可以使用任何代碼,因此它知道我要發送到某個分支? 還是有其他方法可以做到這一點? 謝謝!

您的一個裸倉庫將擁有所有3個分支。 您可以使用git修飾符,使3個單獨的目錄更新為每個分支包含的內容:

git --work-tree=/some/project/dir/branch1 --git-dir=/path/to/bare/repo checkout branch1 -- .

為了避免指定這些選項,您可以設置它們對應的環境變量:

GIT_WORK_TREE
GIT_DIR

這樣,您可以保留一個裸倉庫和3個單獨的目錄,這些目錄在推送分支時會更新。 記住鈎子中提供的參數。 第一個是分支名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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