簡體   English   中英

git子模塊丟失上游遠程

[英]git submodule losing upstream remote

我為我的android項目設計了一個非常有趣的git布局...一切都進行得很漂亮。

該結構本質上是一個帶有兩個內部子模塊的主項目。 內部子模塊之一本身具有一個子模塊。

我可以在克隆項目時拋出--recursive標志,也可以定期克隆它,然后遍歷submodules文件夾並執行

git submodule init
git submodule update

我最近決定,最好分叉我在github上使用的子模塊。 來源是我的賬戶Github到我的分叉倉庫的URL,並且我添加了一個“上游”遙控器,該遙控器指向項目創建者的主人,以便我可以不時提取他們的最新作品。

自從分叉每個子模塊以來,我才第一次使用--recursive標志在新擦除的計算機上克隆了我的項目,並且一切正常。

所以問題來了...

我整個過程的唯一問題是我的每個子模塊都沒有順流而下……我可以cd進入每個子模塊並進行git remote show ,只有origin可見。

重新添加upstream遙控器並不是什么大不了的事,但我很想知道我的問題在這里。

另一個小子問題:是否有任何方法可以向該單個遞歸克隆命令添加行內標志,該命令將在每個子模塊上git checkout master

有任何想法嗎?

有什么方法可以向單個遞歸克隆命令添加行內標記,該命令將在每個子模塊上git checkout master?

並非完全符合您的要求,但是您可以配置一個子模塊以遵循master:請參見git子模塊跟蹤最新

git submodule update --init --recursivegit submodule update --remote --recursive會將分離的HEAD更新為最后獲取的遠程HEAD。

要真正簽出和更新子模塊,您需要一個別名,有點像此博客文章中所述

git config --global alias.up-sub '!f() { cd $1 && git checkout master && git pull && git submodule update --init --recursive; }; f'

現在,要更新“框架”子模塊,我們可以這樣做:

git up-sub framework

使用&&代替; 以防止在您輸錯子模塊名稱時丟失工作。

我聯系了Github的好人,回答了分叉存儲庫的問題,而不是跟蹤添加的上游,這就是我得到的:

每個克隆都有自己的遠程列表。 因此,每次創建新克隆時,都需要重新添加首選的遙控器。 因此,通常最好在您使用的每台計算機上都有一個存儲庫的克隆,然后在發布更改和更新時提取它們,而不是為每個任務創建一個新的克隆。

暫無
暫無

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

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