2012-03-23 9 views
5

Tại sao TFS không muốn gửi lại cho tôi các tệp cũ của tôi?Team Foundation Server hợp nhất không hợp nhất

Dev Chi nhánh enter image description here

Main Branch enter image description here

sáp nhập Dev để chính enter image description here

Edit: Do câu trả lời đầu tiên bên dưới và một số điều tra khác, tôi tin rằng tôi đang cố gắng hoàn thành toàn bộ chi nhánh. Điều này có thể không?

+0

Kiểm tra câu hỏi SO cũ hơn: http://stackoverflow.com/questions/7510089/does-tfs-branching-have-a-child-parent-relation – pantelif

Trả lời

3

Đây là một điều tốt, tôi nghĩ điều tốt nhất cần làm là hủy xóa các tệp và thư mục trong nhánh Chính. Để thực hiện việc này, hãy vào "Công cụ", "tùy chọn". Các mở rộng "Nguồn Control", Chọn "Visual Studio Team Foundation Server" và chọn "Hiển thị các mục đã xóa trong Source Control Explorer"

enter image description here

Điều này sẽ cho phép bạn chọn các tập tin bị xóa và sử dụng "phục hồi "lệnh để đưa chúng trở lại.

Tuy nhiên nếu bạn thực sự muốn đẩy các thay đổi từ chi nhánh dev của bạn đến nhánh chính thì bạn có thể sử dụng dòng lệnh để buộc TFS thực hiện hợp nhất.

Mở lời nhắc lệnh Visual Studio 2010 và điều hướng đến không gian làm việc của bạn

ví dụ: cd c:\tfs\MyLocalWorkspace

Sau đó sử dụng "tf" lệnh

tf merge $/TeamProject/Dev $/TeamProject/Main /recursive /force

Điều này sẽ buộc TFS để trộn các thay đổi ngay cả khi nó nghĩ rằng họ đã được sáp nhập trước đó. Tôi có thể nói rằng việc sử dụng "phục hồi" là phương pháp ít có khả năng nhất để gây ra "nội dung lạ lùng" xảy ra trong tương lai.

+0

Trước khi tôi đọc điều này, tôi thực sự đã thực hiện một rollback trên nhánh, sáp nhập bình thường và sau đó xóa thêm crap để tôi có giải quyết vấn đề của tôi. Nhưng giải pháp của bạn hoạt động cho các tình huống trong tương lai và tùy chọn "hiển thị đã xóa .." rất hữu ích.Cảm ơn bạn. – Terry

1

Nếu bạn đã xóa các tệp trong nhánh chính (không rõ ràng từ câu hỏi nhưng phần nào được ngụ ý bởi "tệp cũ trở lại"), thực hiện hợp nhất từ ​​một chi nhánh nơi tệp không bị xóa sẽ không đưa chúng trở lại. Nó sẽ xem xét việc xóa như một sự thay đổi còn thiếu trong nhánh Dev, và vì vậy hãy giữ nó trong kết quả đã hợp nhất.

Nếu bạn muốn phục hồi các tệp, tại sao bạn không thực hiện điều đó trong nhánh chính?

+0

Tôi đã xóa tệp khỏi nhánh chính vì nó có tệp phụ và các thư mục (từ một nhánh mới hơn) mà không bị xóa khi tôi hợp nhất một nhánh cũ hơn. Tôi nghĩ rằng tôi có thể xóa chúng và buộc phải lấp đầy mọi thứ từ nhánh cũ hơn. – Terry

+0

Xem chỉnh sửa của tôi trong câu hỏi ban đầu. – Terry

+0

@TerryR - Bạn sẽ cần phải thực hiện việc hợp nhất bắt buộc từ dòng lệnh như được mô tả trong câu trả lời của James Reed – antlersoft