2012-11-03 79 views
16

Tôi là người mới cho github và bắt đầu sử dụng GITHUB cho WINDOWS các kho lưu trữ riêng được chọn và được chia sẻ giống với các đồng nghiệp của tôi.Xung đột GITHUB Giải quyết

Hiện tại, chúng tôi đang gặp sự cố, không chắc chắn cách giải quyết vấn đề. Chúng tôi đã thử google và không sử dụng.

Bản thân tôi và đồng nghiệp đã làm việc trên cùng một tệp cùng một lúc, anh ấy cam kết trước tôi. Tôi muốn biết những thay đổi mà anh ấy đã thực hiện và tôi muốn hợp nhất thay đổi của anh ấy với tệp cục bộ của tôi và cuối cùng tôi muốn cam kết phiên bản của tôi. Có thể sử dụng GITHUB bằng GITHUB cho các cửa sổ không? Tôi đã làm điều tương tự trước với Rùa SVN

Tôi Khai trương lệnh shell nhanh chóng và cố gắng một cái gì đó giống như

$ git diff 

Nhưng nó chỉ hiển thị sự khác biệt và không khuyên tôi nên kết hợp địa phương với dàn dựng phiên bản ..

Trả lời

19

Nếu bạn nhấn nút sync, bạn sẽ kéo các thay đổi mà bạn bè của mình đã thực hiện và được đẩy trực tuyến. Nếu các thay đổi không hợp nhất một cách sạch sẽ, bạn sẽ được nhắc rằng một cuộc xung đột đã xảy ra. Thao tác này sẽ thêm đường xung đột vào các tệp của bạn, nơi bạn sẽ phải truy cập và giải quyết chúng. Sau đó, bạn sẽ chỉ cần thực hiện các thay đổi.

Các đường xung đột sẽ xuất hiện trong giao diện Github cho Windows (mặc dù tôi không chắc chắn 100%, tôi thực sự thích giải quyết xung đột thông qua dòng lệnh).

By dòng lệnh, bạn sẽ phải nhập lệnh như vậy:

git pull 
# If merge conflict, you'll be prompt to resolve them, git will list conflicted files 
# Open those files in you editor and resolve conflicts. Line will be marked in the files. 
# When all is resolved : 
git add -A 
git commit 
# No need to enter a message, git will automatically fill the message with 
# merge conflict specific information 
git push 

Trong tập tin của bạn, đánh dấu cuộc xung đột sẽ giống như thế này:

<<<<<<<<<<< [sha-1 of the commit] 
function() { 
================== 
function(hey) { 
HEAD>>>>>>>>>>>>> 
+3

Trong trường hợp này, tôi đề nghị 'git add -u' thay vì sau đó' git add -A' (hoặc tốt hơn, 'git commit -a'). Chỉ có một tệp quan tâm xuất hiện đã có trong kho lưu trữ. – Andy

+2

Bạn là anh hùng của tôi. Tại sao tôi không thể tìm thấy nơi này trực tuyến! – ClickerMonkey

1

Trong trường hợp của tôi, nó chỉ cần bật ra rằng tôi bỏ qua để đồng bộ hóa một cam kết trước đó trước khi cố gắng để đồng bộ hóa kế tiếp.

Không cần giải quyết xung đột.

Tôi cũng thấy nó thú vị mà tất cả các khối khác biệt

<<<<<<<<<<<<<<<<<... 
... 
====================== 
... 
HEAD>>>>>>>>>>>>>> 

đang thực sự đặt vào mã nguồn của bạn. Chỉ cần mở tập tin mâu thuẫn trong một trình soạn thảo văn bản và giữ/xóa nhánh mong muốn.

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