2011-04-27 24 views
11

Tôi có một dự án trong một repo Git và tôi đã được gửi những thay đổi đã được thực hiện bên ngoài Git. Những thay đổi này dựa trên phiên bản cũ hơn mà tôi đã tự thực hiện thay đổi. Cách tốt nhất để hợp nhất các tệp bên ngoài này với tôi là gì?Cách tốt nhất để hợp nhất các thay đổi bên ngoài vào repo Git của tôi là gì?

Rất cám ơn!

+1

Các thay đổi này được gửi cho bạn ở định dạng nào? Một tệp khác? –

Trả lời

10

Cách tốt nhất là nói với git những gì họ cam kết dựa trên, để cung cấp cho bạn cơ hội tốt nhất của việc hợp nhất tự động.

  1. git checkout <sha1 of the old commit> -b mybranch, để tua lại cây làm việc của bạn và bắt đầu nhánh mới.
  2. Nếu các thay đổi được gửi dưới dạng khác biệt, hãy sử dụng git-apply để áp dụng chúng cho cây làm việc, nếu không, chỉ cần đặt các tệp được cập nhật.
  3. Thêm và cam kết tệp.
  4. git checkout master, sau đó git merge mybranch.
+0

Cảm ơn một loạt, điều này nghe có vẻ như những gì tôi muốn. Chúc mừng! – GitNub

4

Bạn sẽ muốn hành động một cách chính xác như khi bạn đang làm việc với những tập tin này, vì vậy cam kết chúng từ trạng thái của phiên bản trước đó bạn đang nói về:

  1. Tạo một chi nhánh tại các cam kết bạn tin là cơ sở của tập tin sửa đổi
  2. Thêm tập tin sửa đổi
  3. Commit
  4. Merge lại cành này sang cành phát triển chính của bạn
0

cách tốt nhất là dành cho người đã cung cấp các thay đổi để cung cấp bản vá thay vì tệp. Nhưng nếu không thể, người khác không phải là Nhận thức về Kiểm soát Phiên bản hoặc một cái gì đó khác, bạn có thể thử cam kết tất cả các thay đổi nổi bật của bạn trong nhánh bạn hiện đang làm việc. Ưu tiên cố gắng tránh bất kỳ tập tin không được theo dõi nào. Sau đó sao chép các tệp đó vào repo git và chạy git status và bạn sẽ thấy các thay đổi so với trạng thái repo của bạn là gì và sau đó bạn có thể quyết định những gì bạn sẽ làm với chúng

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