Tôi muốn sao chép một dự án git (từ github, nói) và có thư mục cấp cao nhất có thể ghi được theo nhóm.'git clone' tôn trọng umask, ngoại trừ thư mục dự án cấp cao nhất
Tôi đã thử một vài thứ khác nhau. Đầu tiên, chỉ cần đặt umask trước khi nhân bản.
$ umask
0002
tập tin mà tôi tạo ra sau đó được ghi bởi nhóm
$ touch test
$ ls -l test
-rw-rw-r-- 1 user group 0 2012-05-17 09:32 test
Bây giờ tôi cố gắng git clone
$ git clone [email protected]:user/repo.git
Cloning into repo... [succeeds]
Nhưng thư mục bản sao không ghi được theo nhóm.
$ ls -ld repo
drwxr-xr-x 11 user group 4096 2012-05-17 09:32 repo
Tôi đã thử điều tương tự với repo được tạo bằng git init --shared=umask
(đã là mặc định) trong thư mục có 775 quyền. Sau khi đẩy github git clone
nhận được kết quả tương tự.
Đây không phải là một vấn đề lớn, tôi có thể chmod trong tập lệnh thanh toán của mình. Nhưng nếu có một cách thích hợp/xây dựng để làm điều này, đó là thích hợp hơn. Git là phiên bản 1.7.4.1 trên Ubuntu 11.04.
Bất kỳ ý tưởng hoặc liên kết nào được đánh giá cao. Tôi thấy this post, but it uses chmod, tôi đã không thể tìm thấy nhiều thứ khác về điều này. Cảm ơn!
Hey @ fork0, cảm ơn bạn đã trả lời. Thư mục .git của tôi và tất cả các tệp dự án đã được nhóm ghi, nhờ vào umask của tôi. Để làm rõ, tôi đang cố gắng để có thư mục cấp cao nhất của dự án là nhóm có thể ghi (tức là 'ls -ld repo' sẽ hiển thị' drwxrwxr-x'). Thiết lập 'core.sharedRepository = group' thực hiện giống như' git init --shared = group' đằng sau hậu trường, và không làm cho thư mục cấp cao nhất có thể ghi được theo nhóm. –
Tôi hiểu. Không, nó không – fork0
Vì vậy, có, nó không. Tôi không nghĩ Git có bất cứ điều gì cho việc này, nhưng hãy để tôi kiểm tra ... – fork0