Điều bạn cần nhận ra, đến từ CVS, là bạn không còn tạo thư mục khi thiết lập chi nhánh.
Không còn "thẻ dính" (có thể được áp dụng cho chỉ một tệp) hoặc "thẻ nhánh".
Nhánh và thẻ là hai đối tượng khác nhau trong Git và chúng luôn áp dụng cho tất cả repo.
Bạn sẽ không còn (với SVN lần này) phải cấu trúc rõ ràng kho lưu trữ của bạn với:
branches
myFirstBranch
myProject
mySubDirs
mySecondBranch
...
tags
myFirstTag
myProject
mySubDirs
mySecondTag
...
Cấu trúc đó xuất phát từ thực tế CVS là một hệ thống sửa đổi chứ không phải hệ thống phiên bản (xem Kiểm soát nguồn so với Kiểm soát sửa đổi? ).
Điều đó có nghĩa là các nhánh được mô phỏng thông qua các thẻ cho CVS, các bản sao thư mục cho SVN.
Câu hỏi của bạn có ý nghĩa nếu bạn được sử dụng để kiểm tra thẻ và bắt đầu làm việc với nó .
Mà bạn không nên;)
Một thẻ được cho là đại diện cho một bất biến nội dung , chỉ được sử dụng để truy cập nó với sự đảm bảo để có được cùng một nội dung mỗi lần.
Trong Git, lịch sử sửa đổi là một loạt các cam kết, tạo thành một biểu đồ.
Một nhánh là một đường dẫn của đồ thị
x--x--x--x--x # one branch
\
--y----y # another branch
1.1
^
|
# a tag pointing to a commit
- Nếu bạn kiểm tra một thẻ, bạn sẽ cần tạo một nhánh để bắt đầu làm việc từ nó.
- Nếu bạn kiểm tra một chi nhánh, bạn sẽ trực tiếp thấy cam kết mới nhất ('ĐẦU') của chi nhánh đó.
Xem câu trả lời của Jakub Narębski cho tất cả các kỹ thuật, nhưng thẳng thắn, tại thời điểm này, bạn không cần (chưa) tất cả các chi tiết;)
Điểm chính là: một thẻ là một con trỏ đơn giản cho một cam kết, bạn sẽ không bao giờ có thể sửa đổi nội dung của nó. Bạn cần một chi nhánh.
Trong trường hợp của bạn, mỗi nhà phát triển làm việc trên một tính năng cụ thể:
- nên tạo chi nhánh riêng của họ trong kho lưu trữ tương ứng của họ
- theo dõi các chi nhánh từ kho của đồng nghiệp của họ (nhóm hoạt động trên cùng một tính năng)
- kéo / đẩy để chia sẻ công việc của bạn với các đồng nghiệp của bạn.
Thay vì theo dõi trực tiếp các chi nhánh của đồng nghiệp, bạn chỉ có thể theo dõi chi nhánh của một kho lưu trữ trung tâm "chính thức" mà mọi người đẩy công việc của mình để tích hợp và chia sẻ công việc của mọi người cho tính năng cụ thể này.