2010-04-16 35 views
15

Tôi có một dự án mà tôi đang tìm cách quản lý theo cách thủ công thông qua kiểm soát phiên bản của lực lượng như tôi chỉ có phiên bản Express. Những gì tôi đang tìm là những tập tin cần được loại trừ trong việc kiểm soát phiên bản như khóa nhiều tập tin có thể dẫn đến một vấn đề để biên dịch và gỡ lỗi studio trực quan.Tôi nên kiểm soát phiên bản C# dự án nào?

Những gì tôi có, cho đến nay, được bao gồm. file
cs (trừ thư mục tài sản)
file resx
file csproj

Không bao gồm
thư mục bin
obj thư mục
Thuộc tính thư mục
.user tập tin

Lết tôi biết nếu có cái gì đó nhiều hơn mà nên được bao gồm mà tôi đã loại trừ hoặc nếu có một cách tốt hơn để làm t của anh ấy.

+1

Nếu bạn là sinh viên, bạn có thể nhận được VS Professional thông qua DreamSpark. – SLaks

+0

Trang web rất hay, thật không may, đây là công việc. – DTown

+0

Tôi đã luôn luôn bao gồm tất cả các tập tin và tôi không bao giờ nhận thấy bất kỳ vấn đề. – Brandi

Trả lời

11

Bạn nên bao gồm thư mục Thuộc tính; nó chứa AssemblyInfo.cs (với tất cả các thuộc tính assembly) và các tệp Tài nguyên và Cài đặt mặc định của dự án, nếu có.

Bạn cũng nên bao gồm tệp .sln, nếu có.

12

Cũng loại trừ:

.suo 
app.config (you should commit something like app-dev.config instead) 

Re: app.config:

app.config thường chứa thông tin cụ thể máy (như chuỗi kết nối cơ sở dữ liệu, thiết lập mặc định, hoặc đường dẫn đến tài nguyên) và bạn don' t muốn điều này cứ mỗi lần bạn kiểm tra từ kiểm soát nguồn. Các tệp này phải được tạo/sao chép bằng các tập lệnh triển khai.

Khi có nhiều nhà phát triển trên một dự án, mỗi người có máy chủ cơ sở dữ liệu riêng của họ, điều này đặc biệt gây phiền nhiễu. Điều ngược lại thậm chí có thể nguy hiểm hơn - nếu bạn triển khai mã để sản xuất bằng cách kiểm tra từ kiểm soát sửa đổi, bạn có thể vô tình thiết lập sản xuất để sử dụng cơ sở dữ liệu phát triển, có thể là thảm họa.

+0

Tại sao bạn nên loại trừ app.config? – SLaks

+0

@SLaks: xem cập nhật của tôi – RedFilter

+1

Tại nơi làm việc của tôi, chúng tôi kiểm tra trong "app.config-template". Khi bạn lần đầu tiên kiểm tra, bạn sao chép này để "app.config" (loại trừ khỏi VC) và điền vào các giá trị có liên quan cho bạn. Điều này tiết kiệm devs từ việc phải viết một app.config toàn bộ từ đầu, nhưng cũng có nghĩa là họ sẽ không bao giờ vô tình kiểm tra trong một app.config có chứa các thiết lập cá nhân. – Ken

6

Đừng quên thêm bất kỳ hình ảnh, biểu tượng, vv bạn có thể đang sử dụng trong ứng dụng của mình. Thật dễ dàng để quên những điều này.

Ngoài ra nếu bạn có bất kỳ tài liệu nào được liên kết với dự án - thông số kỹ thuật, thiết kế, tệp trợ giúp, v.v. Đặt chúng vào các thư mục riêng biệt trong dự án và sau đó bao gồm chúng.

1

Nếu tôi đang sử dụng DLL của bên thứ ba, phiên bản I sẽ kiểm soát chúng với dự án và sử dụng triển khai song song sao cho DLL được sao chép vào thư mục bin trong quá trình biên dịch (trái ngược với việc chỉ đăng ký DLL trong GAC). Hiệu quả của việc này là một nhà phát triển khác có thể kéo dự án xuống từ kiểm soát nguồn và có các phụ thuộc mà họ cần để biên dịch và chạy dự án thành công. Không tải xuống và cài đặt lãng phí các thành phần của bên thứ ba và bạn chắc chắn mọi người đang phát triển/thử nghiệm dựa trên cùng một phiên bản của dll của bên thứ ba.

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