2013-06-12 31 views
9

Tôi mới dùng git trước đây đã sử dụng Perforce, SVN, nguồn an toàn và nhiều công cụ kiểm soát nguồn khác.git cam kết nhận xét cho mỗi tệp

Tôi đang tìm kiếm chức năng mà tôi đã sử dụng để sử dụng trong Perforce, nơi tôi có thể tạo danh sách thay đổi; Tôi đã có thể thêm tệp vào danh sách thay đổi và cung cấp nhận xét cụ thể cho từng tệp.

git có khu vực dàn dựng để thay đổi tệp được thêm vào, có cách nào để cung cấp nhận xét cho mỗi tệp khi thêm tệp vào khu vực dàn dựng không?

Hoặc có thể ở giai đoạn nhận xét tôi có thể thêm nhận xét cho mỗi tệp; Tôi đã có một cái nhìn tốt và không thể tập luyện nếu một trong hai cách để thực hiện một trong hai - trong thực tế từ những gì tôi có thể nhìn thấy không phải là có thể.

Bất kỳ ai có ý tưởng nào về cách tôi có thể thực hiện việc này?

+0

Bạn đã sử dụng SVN, không thể thực hiện việc này. – xiaobai

Trả lời

9

Git không cung cấp tính năng như vậy. Triết lý của Git là theo dõi 'nội dung' chứ không phải 'tệp'. Thêm tệp vào khu vực dàn dựng cho phép bạn chuẩn bị chính xác cam kết của mình. Nếu một số tệp được thêm vào khu vực dàn dựng, đó là do có liên kết đến cùng một đối tượng địa lý. Đó là lý do tại sao thông báo cam kết đại diện cho toàn bộ thay đổi.

Nếu bạn cần một thông báo cho mỗi tệp, bạn có thể xem xét tạo một số cam kết trên một chi nhánh tính năng, chỉ với một tệp cho mỗi lần commit.

Hy vọng điều này sẽ hữu ích.

+0

+1 cho các tệp được liên kết với cùng một đối tượng địa lý – gzm0

+0

Cảm ơn bạn đã chỉ ra điều này - tôi cần thay đổi cách tôi đã suy nghĩ và do đó sử dụng git. Giúp đỡ rất nhiều. – user2196409

+0

Bởi logic này trong mọi cam kết chỉ nên có "một" thay đổi cục bộ trong một tập tin duy nhất xảy ra rất hiếm khi và thường cho các điều chỉnh rất nhỏ. Nếu không, thông điệp cam kết đó không thể _properly_ đại diện cho toàn bộ thay đổi, vì các thay đổi _are_ được phân phối "khắp nơi", nhưng thông điệp cam kết của bạn không phải là. Vì vậy, logic này là thiếu sót kể từ khi, có, git 'nghĩ' trong nội dung, nhưng bạn vẫn nghĩ trong các tập tin khi bạn tổ chức nội dung đó. –

2

Những ngày này, bạn CÓ THỂ thêm thư cam kết vào các tệp riêng lẻ. Tôi chỉ làm điều này ví dụ:

git commit -m 'reference containers in app' src/App.js 

Bối cảnh: nhiều file thêm vào git qua $git add . THEN: cam nhắn trong hồ sơ cá nhân này (src/App.js).

[đăng câu trả lời vì đây vẫn đi lên trong google]

0

Bạn chỉ có thể đi đến thư mục sau khi một số thay đổi làm:

git add . 
git commit -m 'mssg' 

và quay trở lại và đẩy nó:

git push origin master 
+0

Có thể chỉnh sửa câu trả lời để đánh dấu các dòng 'git ...' là mã không? (chỉ cần thụt lề mọi dòng mã bằng 4 dấu cách hoặc sử dụng nút trong giao diện). Tôi không thể gửi chỉnh sửa vì tôi không tiếp cận đủ ký tự được thêm để chỉnh sửa không thể gửi được. – GPhilo

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