2017-03-22 60 views
0

一般來說,我試圖找出如何在多拱構建爲LIB同步我修改第三方庫。Git:使用第三方遠程管理單個回購的多個工作副本的最佳方法?

具體而言,我管理主Qt的git倉庫的四個克隆(如結合上qt.io遠程),一個用於每個LIB架構我建立我的應用程序。例如,我爲iOS,iPhoneSimulator,macOS,windows和一個用於開發的調試版本分別有qt發佈版本。

問題是,我正在修改qt源代碼,並希望跨所有工作副本同步並測試這些更改,同時仍然能夠推送到qt.io上的主Qt倉庫。

如何設置這個了混帳?我是否需要將自己的裸回購作爲第二個遠程設備?這個怎麼用?

謝謝!

+1

有很多方法可以做到這一點。對於簡單的情況,如果你的Git足夠新,我喜歡'git worktree add';但是你的情況可能會更復雜。無論您需要還是想要裸倉庫都取決於您。您可以使用純拉式工作流程,在筆記本電腦上工作時,您可以從某個地方「拖拉」,然後在Windows筆記本電腦上從筆記本電腦上拖拉,等等。 (我用BSD和MacOS來做這件事。) – torek

+0

有趣。我一直在使用git一段時間,但從來沒有真正學會如何做到這一點。你能給出更多的步驟示例或鏈接到一個?謝謝! – patrickkidd

回答

0

原來你可以通過設置來/.git遠程實際上是裸回購拉樹枝從一個工作拷貝到另一個。我想你每天都會學到一些東西。假設你有兩個qt的版本,一個用於iOS系統,一個用於OS X,你必須提交的一個分支,在iOS的複製要拉至OS X副本:

cd qt-ios 
git checkout -b some-branch 
git commit -a -m "made changes" 
cd qt-osx 
git remote add qt-ios ../qt-ios/.git 
git pull qt-ios some-branch 

就是這樣。那麼理論上你可以在另一個方向上做同樣的事情。

+0

你應該只能使用'../ qt-ios'作爲這種情況,但任何一種方式都可以。這不是一個* bare *版本庫(一個裸存儲庫的'core.bare'設置爲'true'),它只是一個「存儲庫」。 A *遠程*,在Git中,僅僅是一個URL短名稱和URL可以是'SSH://'或'http'或'https'爲主,或'文件://',甚至只是一個路徑名。在任何情況下,從遠程獲取''調用另一個Git'(也許通過在你自己的計算機上旋轉一個!「)並且與它交談」。 – torek

相關問題