8

Tôi đã sử dụng plugin NetBeans GIT trước đó, sau đó tôi đã quyết định chuyển sang SourceTree, vì nó hiệu quả và mạnh mẽ hơn. Là một người mới đến SourceTree, tôi đã tìm ra các quy trình cơ bản về Kéo, Đẩy và Cam kết.Giải quyết xung đột Git trong SourceTree

Tuy nhiên, tôi gặp khó khăn khi có xung đột về tệp khi hợp nhất với tác phẩm của bạn tôi. Trong NetBeans nếu có bất kỳ xung đột nào, plugin đề xuất giải quyết nó trong cửa sổ bật lên và tôi chỉ muốn đi tới giao diện giải quyết xung đột và chấp nhận đoạn mã chính xác bằng cách nhấp vào nút. Điều đó thật đơn giản.

Trong SourceTree, có một cái gì đó gọi là Công cụ hợp nhất bên ngoài không hoạt động tốt cho tôi. Khi tôi nhấp chuột phải vào tập tin với các xung đột, nó chỉ mở hai tập tin cạnh nhau và có mũi tên chỉ sang trái sang phải ở giữa. Có một trình đơn thả xuống ở cuối màn hình để chọn hướng mũi tên.

Tôi đã cố gắng sử dụng giao diện này để giải quyết xung đột nhưng tôi đã thất bại. Nó không khắc phục được xung đột và hợp nhất hai tệp.

Khi tôi tìm kiếm qua internet, tôi thấy rằng một số người sử dụng plugin giải quyết xung đột SourceTree bên ngoài để hợp nhất. Thực ra tôi rất ít bị lạc ở đây. Đó là lý do tại sao tôi đã quyết định đăng vấn đề này ở đây vì điều này có thể giúp một người như tôi một ngày.

Tôi biết có rất nhiều người đã sử dụng SourceTree trong một thời gian dài. Có thể bất kỳ người trong số họ xin vui lòng cho tôi biết, làm thế nào để giải quyết xung đột trong SourceTree hiệu quả?

Tôi có nên sử dụng plugin bên ngoài hay tôi nên sử dụng Công cụ hợp nhất bên ngoài (nếu có, làm cách nào tôi có thể sử dụng công cụ này)?

Trả lời

10

Tôi đang sử dụng SourceTree cùng với TortoiseMerge/Diff, công cụ khác biệt/hợp nhất rất dễ dàng và thuận lợi.

Nếu bạn muốn sử dụng nó như là tốt, sau đó:

  1. Nhận phiên bản độc lập của TortoiseMerge/Diff (khá cũ, vì nó không xuất xưởng độc lập kể từ phiên bản 1.6.7 của TortosieSVN, đó là từ tháng 7 năm 2011). Liên kết và thông tin chi tiết in this answer.

  2. Giải nén TortoiseIDiff.exeTortoiseMerge.exe vào bất kỳ thư mục nào (c:\Program Files (x86)\Atlassian\SourceTree\extras\ trong trường hợp của tôi).

  3. Trong SourceTree mở Tools > Options > Diff > External Diff/Merge. Chọn TortoiseMerge trong cả hai danh sách thả xuống.

  4. Hit OK và điểm SourceTree đến vị trí của bạn trong TortoiseIDiff.exeTortoiseMerge.exe.

Sau đó, bạn có thể chọn Resolve Conflicts > Launch External Merge Tool từ menu ngữ cảnh trên mỗi tệp bị xung đột trong kho lưu trữ cục bộ của mình. Điều này sẽ mở ra TortoiseMerge, nơi bạn có thể dễ dàng đối phó với tất cả các xung đột, bạn có. Sau khi hoàn thành, chỉ cần đóng TortoiseMerge (bạn thậm chí không cần phải lưu thay đổi, điều này có thể sẽ được thực hiện tự động) và sau vài giây SourceTree nên xử lý một cách duyên dáng.

Vấn đề duy nhất là nó tự động tạo bản sao lưu mặc dù proper option is unchecked.

an alternate solution cho vấn đề này, trong đó sử dụng KDiff3 thay vì TortoiseDiff/TortoiseMerge.

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