在 Gerrit 倉庫中創建空分支


.

.

.

.

.

Git 倉庫可以創建不帶有歷史記錄的空分支,但 Gerrit 無法直接創建空分支,於是需要通過繞一點彎子來實現。

由於 Gerrit 創建的倉庫沒有工作空間,所以無法直接創建分支。因此我們需要在 Gerrit 服務器上先克隆一份本地倉庫,然后在本地倉庫的工作空間中創建空分支,最后繞過 Gerrit 直接將本地倉庫的空分支推送到 Gerrit 的原始倉庫中,以此來實現創建空分支的目的。

 

在本例中,我們要為 SlideManager.git 倉庫創建一個不包含歷史記錄的空分支:dev-blueberry。

首先登陸 Gerrit 服務器,並來到 git 倉庫所在的路徑:

>$ ssh gerrit@10.10.10.13
>$ cd xxxx/gerrit/git/xxxx/packages/apps

克隆本地倉庫:

>$ git clone SlideManager.git tmp.git
Cloning into 'tmp.git'...
done.

在克隆下來的倉庫中創建空分支:

>$ cd tmp.git
>$ git branch -a
*master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
  remotes/origin/qa
  remotes/origin/stable
>$ git checkout --orphan dev-blueberry
Switched to a new branch 'dev-blueberry'
>$ cp .gitignore ..
>$ git rm -rf .
>$ mv ../.gitignore .

現在,將空分支提交,並推送給 Gerrit 的本地倉庫:

>$ git status
# On branch dev-blueberry
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#    .gitignore
nothing added to commit but untracked files present (use "git add" to track)
>$ git config user.name "root"
>$ git config user.email "gerrit@mail.com"
>$ git add .
>$ git commit -m "New branch for dev blueberry."
>$ git push origin HEAD:dev-blueberry
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 356 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 2 (delta 0)
To /home/gerrit/xxxx/gerrit/git/xxxx/packages/apps/SlideManager.git
 * [new branch]      HEAD -> dev-blueberry

大功告成,去 Gerrit site --> Browse --> Repositories --> Branches 網頁刷新一下看看吧,剛創建的新分支應該已經存在了!

 

 

最后,別忘了刪掉 Gerrit 服務器上面的臨時倉庫:

>$ cd ..
>$ rm -rf tmp.git

 

 

 

參考文獻:

在GIT中創建一個空分支

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM