Bạn có nghĩ rằng đó là một thực hành tốt để cam kết .gitignore vào một repo Git?
Một số người không thích nó, nhưng tôi nghĩ nó tốt khi bạn có thể theo dõi lịch sử của tập tin. Phải không?
Bạn có nghĩ rằng đó là một thực hành tốt để cam kết .gitignore vào một repo Git?
Một số người không thích nó, nhưng tôi nghĩ nó tốt khi bạn có thể theo dõi lịch sử của tập tin. Phải không?
Câu trả lời:
Thông thường có, .gitignore
rất hữu ích cho tất cả những ai muốn làm việc với kho lưu trữ. Đôi khi, bạn sẽ muốn bỏ qua những thứ riêng tư hơn (có thể bạn thường tạo ra LOG
hoặc một cái gì đó. Trong những trường hợp đó, bạn có thể không muốn ép buộc điều đó với bất kỳ ai khác.
$GIT_DIR/info/exclude
hoặc ~/.gitconfig
các tệp nếu thích hợp.
git rm --cached FILENAME
Bạn thường làm cam kết .gitignore
. Trên thực tế, cá nhân tôi đi xa đến mức đảm bảo chỉ số của tôi luôn sạch sẽ khi tôi không làm việc gì đó. ( git status
không hiển thị gì cả.)
Có những trường hợp bạn muốn bỏ qua những thứ thực sự không phải là dự án cụ thể. Ví dụ: trình soạn thảo văn bản của bạn có thể tạo *~
các tệp sao lưu tự động hoặc một ví dụ khác sẽ là các .DS_Store
tệp được tạo bởi OS X.
Tôi muốn nói, nếu những người khác phàn nàn về những quy tắc đó làm lộn xộn bạn .gitignore
, hãy bỏ chúng ra và thay vào đó hãy đưa chúng vào một tệp loại trừ toàn cầu.
Theo mặc định, tệp này nằm trong $XDG_CONFIG_HOME/git/ignore
(mặc định là ~/.config/git/ignore
), nhưng vị trí này có thể được thay đổi bằng cách đặt core.excludesfile
tùy chọn. Ví dụ:
git config --global core.excludesfile ~/.gitignore
Chỉ cần tạo và chỉnh sửa tệp loại trừ toàn cầu theo nội dung trái tim của bạn; nó sẽ áp dụng cho mọi kho lưu trữ git mà bạn làm việc trên máy đó.
# some comment
các dòng vào .gitignore
tệp để giải thích lý do tại sao bạn bỏ qua một cái gì đó. Bình luận mỗi dòng là một chút overkill, nhưng tôi có đã phần dán nhãn # IDE (Eclipse)
, # OS (Mac OS X)
và # Generated (Perl)
. Theo cách đó, nếu ai đó muốn sử dụng một hệ điều hành hoặc IDE khác, họ có thể thêm một phần và tất cả chúng ta có thể chia sẻ.
core.excludesfile
là ~/.config/git/ignore
, tuân thủ Đặc tả thư mục cơ sở XDG
.gitignore
- Rất có lợi khi những người bạn làm việc không đồng ý về nội dung của .gitignore
các tệp được đẩy hoặc liệu chúng có nên được đẩy hay không, và tất cả chúng ta đều sử dụng rất nhiều môi trường phát triển khác nhau tạo ra các loại tiếng ồn khác nhau.
Tôi đặt commit .gitignore, một phép lịch sự cho những người khác có thể xây dựng dự án của tôi rằng các tệp sau có nguồn gốc và nên được bỏ qua.
Tôi thường làm một phép lai. Tôi muốn làm cho makefile tạo tệp .gitignore vì makefile sẽ biết tất cả các tệp được liên kết với dự án được tạo ra hoặc nếu không. Sau đó, có một dự án .gitignore cấp cao nhất mà bạn đăng ký, sẽ bỏ qua các tệp .gitignore được tạo bởi makefile cho các thư mục con khác nhau.
Vì vậy, trong dự án của tôi, tôi có thể có một thư mục con bin với tất cả các tệp thực thi được xây dựng. Sau đó, tôi sẽ tạo tệp tạo tệp .gitignore cho thư mục bin đó. Và trong thư mục trên cùng .gitignore liệt kê bin / .gitignore. Cái trên cùng là cái tôi kiểm tra.
Cam kết .gitignore có thể rất hữu ích nhưng bạn muốn chắc chắn rằng bạn không sửa đổi nó quá nhiều sau đó đặc biệt là nếu bạn thường xuyên chuyển đổi giữa các chi nhánh. Nếu bạn có thể gặp trường hợp các tệp bị bỏ qua trong một nhánh chứ không phải ở nhánh khác, buộc bạn phải xóa hoặc đổi tên các tệp trong thư mục công việc của mình vì kiểm tra không thành công vì nó sẽ ghi đè lên tệp không được theo dõi.
Vì vậy, có, hãy cam kết .gitignore của bạn, nhưng không phải trước khi bạn chắc chắn rằng nó sẽ không thay đổi nhiều sau đó.
Đó là một thực tiễn tốt cho .gitignore
ít nhất các sản phẩm xây dựng của bạn (chương trình, * .o, v.v.).
.gitignore
bản thân nó có nên là " .gitignore
'd" không?