簡體   English   中英

如何合並兩個單獨的Git存儲庫?

[英]How to I combine two separate Git repositories?

我已經克隆了一個git repo ,其中包含我的emacs配置文件。我想在子目錄中添加pylookup 正確的方法是什么?

以下是我可以想到的選項。


  1. 如果我將其克隆到~/.emacs.d/pylookup/並將該文件夾添加到我的emacs存儲庫中,當我這樣做時,該文件夾是否可以正確更新:

     cd ~/.emacs.d/pylookup/ git pull cd ~/.emacs.d git commit -a -m "updates to pylookup" git push 

    也就是說,當我在其他機器上進行這些更改時,我將擁有新版本的pylookup嗎?

  2. 我是否只是讓我的emacs存儲庫忽略pylookup/*並在每次更新pylookup時在每台機器上對其進行更新。 如果有一些回購和一些機器,這將很煩人,但我可以接受。

  3. git submodule有一些聰明的把戲嗎? 如果可以的話,您能提供一個解釋嗎,我不太了解該文檔 我將如何為emacs和pylookup提取更改。

  4. 我是否應該回答2,但要編寫一個腳本來更新所有子倉庫。 如果這樣做的話,每次pylookup更改時,我都可以在每台機器上運行一次。


幾個可能的相關職位。

如果創建一個Git子模塊

$ git submodule add git://github.com/tsgates/pylookup.git pylookup
$ git submodule init pylookup
$ git submodule update pylookup

假設pylookup進行了一些更改,並且您希望獲得它們:

$ cd pylookup
$ git pull origin master
$ cd ..
$ git add pylookup
$ git commit -m "Track new commit of pylookup"

我使用了具有類似問題的子樹合並-http: //git-scm.com/book/en/Git-Tools-Subtree-Merging 就像是:

$ git remote add -f pylookup /path/to/pylookup
$ git merge -s ours --no-commit pylookup/master
$ git read-tree --prefix=pylookup/ -u pylookup/master
$ git ci -m "merging pylookup into pylookup subdirectory"

此處的好指南: http : //jasonkarns.com/blog/merge-two-git-repositories-into-one

暫無
暫無

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

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