Câu trả lời:
.gitkeep
không được ghi lại, vì đó không phải là một tính năng của Git.
Git không thể thêm một thư mục hoàn toàn trống . Những người muốn theo dõi các thư mục trống trong Git đã tạo ra quy ước đặt các tệp được gọi .gitkeep
trong các thư mục này. Các tập tin có thể được gọi là bất cứ điều gì; Git gán không có ý nghĩa đặc biệt cho tên này.
Có một quy ước cạnh tranh là thêm một .gitignore
tệp vào các thư mục trống để theo dõi chúng, nhưng một số người thấy điều này là khó hiểu vì mục tiêu là giữ các thư mục trống, không bỏ qua chúng; .gitignore
cũng được sử dụng để liệt kê các tệp nên bị Git bỏ qua khi tìm kiếm các tệp không bị theo dõi.
.gitignore
tệp có hai dòng: *
và !.gitignore
quá rõ ràng để truyền đạt những gì đang diễn ra. Nếu cần thêm chi tiết, hãy thêm một nhận xét vào đầu tệp bằng #
cú pháp.
.keep
các tệp thay vì .gitkeep
để bảo vệ các thư mục trống này, vì git không phải là hệ thống kiểm soát nguồn duy nhất không theo dõi các thư mục trống. Thêm chi tiết tại đây: github.com/rails/rails/issues/2800
.gitkeep
chỉ là một giữ chỗ. Một tệp giả, vì vậy Git sẽ không quên thư mục, vì Git chỉ theo dõi các tệp.
Nếu bạn muốn có một thư mục trống và đảm bảo nó vẫn 'sạch' cho Git, hãy tạo một thư mục .gitignore
chứa các dòng sau trong:
# .gitignore sample
###################
# Ignore all files in this dir...
*
# ... except for this one.
!.gitignore
Nếu bạn muốn chỉ có một loại tệp được hiển thị cho Git, đây là một ví dụ về cách lọc mọi thứ, ngoại trừ .gitignore và tất cả .txt
các tệp:
# .gitignore to keep just .txt files
###################################
# Filter everything...
*
# ... except the .gitignore...
!.gitignore
# ... and all text files.
!*.txt
('#' cho biết ý kiến.)
!
ở phía trước .gitignore
? Có phải đó là để thoát khỏi dấu chấm?
!
phủ định phần sau, giống như phần thường làm trong lập trình.
!.gitignore
tệp bỏ qua git, thêm tệp sau đó chỉnh sửa hoặc buộc thêm tệp có nội dung phù hợp ("*" để bỏ qua mọi thứ hoặc không có gì đơn giản để đảm bảo thư mục tồn tại) ví dụ thêm .
Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.
------ Nếu không, và bạn không thực hiện một bổ sung mạnh mẽ, bạn có thể quên nó. Trong các trường hợp tầm thường, không có vấn đề gì, nhưng nếu đó là một tệp lớn hơn, bạn có thể khó chịu. Sử dụng !.gitignore
ngăn bạn tự bắn vào chân mình. Tôi thích nó, đã tự thiêu trong quá khứ.
.gitignore
là một tệp văn bản bao gồm một danh sách các tệp trong thư mục của bạn mà git sẽ bỏ qua hoặc không thêm / cập nhật trong kho lưu trữ.
.gitkeep
Vì Git xóa hoặc không thêm các thư mục trống vào kho lưu trữ, .gitkeep là một loại hack (tôi không nghĩ nó được đặt tên chính thức như một phần của Git) để giữ các thư mục trống trong kho lưu trữ.
Chỉ cần làm một touch /path/to/emptydirectory/.gitkeep
để thêm tệp, và Git bây giờ sẽ có thể duy trì thư mục này trong kho lưu trữ.
.gitignore
s như bạn muốn, nếu bạn không muốn chỉ định đường dẫn đầy đủ cho mọi thư mục mỗi lần.
.gitkeep
tệp nhưng nó sẽ không theo dõi thư mục trống, Chỉ theo dõi thư mục nơi .gitkeep
tệp tồn tại. tại sao như vậy ?
.gitignore
s giúp bạn tiết kiệm từ việc chỉ định đường dẫn đầy đủ đến mọi thư mục mỗi lần? Tôi nghĩ rằng tôi đang thiếu một cái gì đó rõ ràng.
README
tệp vào thư mục con trống có chứa một chút thông tin về thư mục con đó sẽ được sử dụng để làm gì? Có vẻ khó hiểu khi có một tệp được gọi.gitkeep
là không thực sự là một phần của git.