2010-02-11 8 views
14

Tôi có cài đặt trình chỉnh sửa mà tôi muốn trải đều trong tất cả các kho lưu trữ. Nếu người dùng định nghĩa các thiết lập riêng của nó, nó sẽ xóa tất cả các lựa chọn kho lưu trữ.Cách chia sẻ tệp cấu hình trong git?

Tôi muốn làm điều đó vì tôi có một lớp và mọi sinh viên sao chép bản ghi nhớ. Thông thường, họ quên thiết lập cài đặt core.editor và kết thúc rối tung xung quanh với vi, thường làm hỏng repo giống như nếu họ đã nguyền rủa sức mạnh phép thuật.

Vì nó làm việc cho thư mục HOME của tôi, tôi đã cố gắng sử dụng một .gitconfig trong thư mục repo của tôi, như tôi sẽ đặt một .gitignore, nhưng nó dường như không hoạt động.

EDIT:

  • --global DOES cho phép người dùng thiết lập sở thích của mình để ghi đè lên repo, nhưng nó does't cho phép anh ta để lấy cấu hình Repos trong khi sao chép nó.
  • .git/config không được chia sẻ giữa các repo nhân bản
+3

Nó có vẻ như là giải pháp thích hợp là để giáo dục học sinh của mình về việc sử dụng EDITOR, VISUAL, và GIT_EDITOR. Đó là kiến ​​thức chung tốt để có trong mọi trường hợp. –

+2

Giáo dục là dễ dàng nếu bạn có tất cả thời gian bạn muốn chi tiêu với mỗi sinh viên riêng lẻ. Đây không phải là trường hợp. Tôi thà tìm một giải pháp tự động và dành thời gian cho những thứ quan trọng hơn. –

Trả lời

5

Phân phối repo của bạn bằng rsync hoặc tar/untar, thay vì sử dụng "git clone", như bạn đã thấy, không sao chép các tệp repo đặc biệt.

-3

Cài đặt chung có thể được thiết lập thông qua: git config --global

Có lẽ lần đầu tiên bạn nên để cho các sinh viên sao chép các tập tin cấu hình (từ kho riêng của mình) để họ thư mục nhà.

+0

nó không cho phép tôi chia sẻ bất kỳ cấu hình git nào. –

2

Tôi làm điều này bằng cách di chuyển tệp cấu hình lên thư mục hoạt động để làm cho nó được phiên bản.

Sau đó, bạn có thể yêu cầu người khác để làm cho một liên kết đến cấu hình:

$ rm .git/config 
$ cd .git 
$ ln -s ../config config 

Sau đó, bạn có thể viết những dòng này trong một kịch bản hoặc trong một dòng để cho họ sao chép và dán.

+1

Nhưng nếu họ cũng có cài đặt tùy chỉnh trong tệp cấu hình của họ thì sao? Điều này sẽ xóa sạch các cài đặt này. – Jacko

1

Bạn có thể tạo tập lệnh shell trong repo để đặt các giá trị này thông qua git config. Điều đó sẽ cho phép các sinh viên nhìn thấy cách họ tự làm, và nó mang lại cho họ một cách để hoàn tác các thiết lập địa phương của họ.

Thật không may, điều này sẽ không tự động.

Ví dụ:

#! /bin/sh 
git config core.editor "ed" 
+0

Chắc chắn là một ý tưởng tồi. Một kịch bản trong ngôn ngữ đó? Bạn tốt hơn có một ngôn ngữ mà tất cả học sinh hiểu rõ. Và bạn sẽ phải dành thời gian cho điều này, đó là điều bạn luôn thiếu, như đã nêu trong các bình luận trước đây của tôi. –

+0

Tôi có nghĩa là một kịch bản sh có lệnh git để thiết lập mặc định. Trừ khi sinh viên của bạn không sử dụng git trên dòng lệnh? – idbrii

+0

@ e-satis tại sao học sinh cần phải hiểu ngôn ngữ của kịch bản? Về thời gian, bạn phải dành thời gian cho việc này không liên quan đến cách bạn làm điều đó. – eis