2009-11-20 32 views
24

Tôi muốn hợp nhất hai kho lưu trữ từ xa trong Git.Hợp nhất hai kho lưu trữ từ xa vào Git

Một là kho lưu trữ chính, mà tôi không có quyền ghi. Tôi muốn theo dõi nhánh chính của nó.

Điều khác được duy trì bởi chúng tôi, tôi có toàn quyền đối với nó.

Tôi muốn theo dõi mã chính thống. Đồng thời, sửa đổi của chúng tôi sẽ được ghi lại trong kho lưu trữ từ xa của tôi.

Làm cách nào để thực hiện việc này?

Trả lời

35

Tôi muốn giới thiệu:

  • nhân bản yourRemoteRepo (theo cách đó, bạn có thể dễ dàng kéo/đẩy từ repo đó)
  • thêm mainstreamRepo như một điều khiển từ xa và lấy chi nhánh, sau đó theo dõi một trong đó lãi suất bạn

    git clone git://yourRemoteRepo 
    git remote add mainStreamRepo http://mainStreamRepo 
    git fetch mainStreamRepo 
    git checkout -b mainStreamMaster mainStreamRepo/master 
    git checkout master 
    

Từ đó, bạn có thể

  • merge mainStreamMaster-master của bạn,
  • hoặc rebase master của bạn trên đầu trang của mainStreamMaster (theo thứ tự để tích hợp lịch sử đầy mainStreamMaster vào chi nhánh master của bạn)
  • sau đó thực hiện một số diễn biến để master (hoặc một chi nhánh theo chủ đề cụ thể) mà bạn có thể đẩy tới yourRemoteRepo.
+0

@TravisCunningham (http://stackoverflow.com/users/2487332/travis-cunningham) cảm ơn bạn đã chỉnh sửa ([bị từ chối không chính xác] (http://stackoverflow.com/review/suggested-edits/2317758)): Tôi đã thêm tên của điều khiển từ xa ban đầu tôi quên. – VonC

Các vấn đề liên quan