2013-05-20 33 views
19

Có cách nào để yêu cầu git tự động tạo/điền .gitignore và một số tệp nhất định trong thư mục .git/hooks mỗi khi git init chạy trên một máy nhất định không? Có lẽ một cấu hình toàn cầu ở đâu đó?Tự động thêm .gitignore và móc vào git init

Chúng tôi có các liên kết tượng trưng cần được bỏ qua trên bảng, cũng như các móc nhận trước và sau nhận cần được thiết lập cho mọi repo, vì vậy việc này dễ dàng hơn so với thực hiện thủ công cho từng thẻ.

Cảm ơn.

Trả lời

31

Bạn có thể đạt được điều này bằng cách sử dụng thư mục git mẫu

git config --global init.templatedir /path/to/template 

Sau đó bạn có thể thêm các tập tin vào thư mục /path/to/template/hooks và họ sẽ được tự động sao chép vào thư mục .git/hooks trên git init

Bạn có thể đặt nội dung .gitignore bạn muốn vào một tệp bạn đặt tên exclude trong thư mục /path/to/template/info. Sau đó, nó sẽ có hiệu quả là một tập tin .gitignore trong tất cả các kho mới được tạo ra bởi git init

Nếu bạn đang ở trên unix, thậm chí còn có một mẫu mặc định thư mục /usr/share/git-core/templates

+0

Điều này hoạt động thực sự tốt - ngay cả các liên kết tượng trưng :) –

2

.gitignore_global trong thư mục chính của bạn. Nếu tệp không có ở đó, hãy tạo nó. Cú pháp giống như tệp .gitignore. Hãy cẩn thận những gì bạn đặt trong tập tin này!

Nếu tất cả người dùng muốn chia sẻ các tập tin .gitignore tương tự, bạn có thể tạo một trong

/.SHARED_GIT_IGNORE 

Sau đó tạo liên kết mềm để nó trong mỗi người dùng thư mục chính tương ứng.

/Users/ALL_USERS/.gitignore_global -> /.SHARED_GIT_IGNORE 
+0

Vì vậy, nếu chúng tôi có 10 nhà phát triển, chúng ta cần một tập tin trong .gitignore_global mỗi thư mục nhà của họ? Phải có một cách để thực sự thực sự toàn cầu .gitignore ... – jraede

+1

Có những giải pháp thay thế, nhưng ý tôi là, khó có thể thiết lập 10 lần? Điều gì xảy ra nếu mỗi nhà phát triển muốn bỏ qua những thứ khác nhau? Tại sao bạn có 10 nhà phát triển chia sẻ máy? Ngoài ra, một git quá mức toàn cầu bỏ qua chỉ có âm thanh rất nguy hiểm. Nếu bạn phải tất cả các symlink đều giống nhau .gitignore_global ở một nơi khác trong hệ thống tập tin, vì vậy bạn có thể giữ nguyên cùng một tập tin bị bỏ qua, mà không cần phải thay đổi ... – ChrisCM

+0

Tôi đã nghĩ rằng nó có thể gây phiền nhiễu nếu chúng ta phải thực hiện thay đổi, nhưng bạn nói đúng, chỉ có 10 tệp. – jraede

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