2009-10-30 27 views
13

Đối với một số bối cảnh: Tôi chỉ nâng cấp Ubuntu đã phá vỡ cài đặt gitosis hiện có của tôi (xem ở đây: bug #368895), và vừa cài đặt lại gitosis từ gói. Bây giờ tôi muốn di chuyển toàn bộ cấu hình và tập hợp các kho lưu trữ của tôi từ cài đặt gitosis cũ (vẫn tồn tại và có thể được kéo từ nhưng bị hỏng).git-merge với kho lưu trữ trên hệ thống tập tin cục bộ

Tôi hiện có hai thư mục quản trị gitosis cục bộ, một cho mỗi lần cài đặt gitosis. Người ta có một lịch sử đầy đủ, người kia thì trống rỗng. Tôi muốn vượt qua lịch sử này. Đây là những gì đang xảy ra mặc dù:

[email protected]:~/gitosis-admin-new$ git merge ../gitosis-admin-old/ 
fatal: '../gitosis-admin-old/' does not point to a commit 

... nơi có những kho git trong ~/gitosis-admin-old/~/gitosis-admin-new/

Tôi có lẽ sẽ cần phải làm điều này cho các kho khác cũng vậy, có nhiều thời gian hơn và lịch sử quan trọng hơn, do đó, sao chép và cam kết là một không phải là một lựa chọn.

Tôi đang làm gì sai? Tôi đã thử trỏ đến .git/HEAD mà tôi hiểu là cam kết, nhưng điều đó không hiệu quả. Ai đó có thể giải thích làm thế nào để làm điều này? Cảm ơn!

Trả lời

21

Bạn cần phải sử dụng git pull với kho lưu trữ, không git merge (đó là cho các chi nhánh):

git pull ../gitosis-admin-old/ 

Bạn có thể cần phải chọn một chi nhánh tại từ xa để kết hợp, ví dụ:

git pull ../gitosis-admin-old/ master 

Nếu bạn chỉ cần thực hiện việc hợp nhất này một lần, sau đó sử dụng git remote add như trong jamessan answer là công việc không cần thiết. Mặt khác, nếu bạn muốn xem lại từ xa (kéo nhiều lần), giải pháp này sẽ tốt hơn sử dụng git pull <location> <branch>.

+0

Đã chấp nhận; nhận được một câu trả lời của jamessan vì 'chủ nhân'! Cảm ơn rất nhiều :) –

3

Bạn cần phải tạo điều khiển từ xa cho kho lưu trữ đó và sau đó tìm nạp & hợp nhất (hoặc chỉ cần kéo) từ đó.

git remote add admin-old file://$HOME/gitosis-admin-old 
git pull admin-old 
Các vấn đề liên quan