Tôi luôn bị mắc kẹt ở đâu đó về điều này ngay cả sau khi trở lại câu hỏi này nhiều lần. Tôi đã đưa ra một quy trình chi tiết để thực hiện từng bước:
Đầu tiên chỉ cần sử dụng git add
để thêm nội dung thực tế.
Nó sẽ hiển thị các tệp có liên quan được thêm vào chỉ mục trong khi tất cả các tệp khác vẫn chưa được theo dõi. Điều này giúp co lại .gitignore
từng bước.
$ git add wp-content/themes/my-theme/*
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-admin/
wp-content/plugins/
wp-content/themes/twentyeleven/
wp-content/themes/twentytwelve/
...
wp-includes/
...
Thêm một DUMMY.TXT
tập tin tạm thời trong thư mục của bạn:
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-admin/
wp-content/plugins/
wp-content/themes/twentyeleven/
wp-content/themes/twentytwelve/
...
wp-content/themes/my-theme/DUMMY.TXT <<<
...
wp-includes/
...
Mục tiêu của chúng tôi bây giờ là xây dựng các quy tắc sao cho DUMMY.TXT
là duy nhất vẫn hiển thị dưới dạng Không bị bẻ khóa khi chúng tôi hoàn thành.
Bắt đầu thêm các quy tắc:
.gitignore
/*
Đầu tiên là bỏ qua mọi thứ. Các tệp không bị khóa sẽ bị xóa hết, chỉ các tệp được lập chỉ mục mới được hiển thị:
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Thêm thư mục đầu tiên trong đường dẫn wp-content
/*
!/wp-content
Bây giờ các tệp không bị theo dõi sẽ hiển thị lại, nhưng chỉ có wp-content
nội dung của
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-content/plugins/
wp-content/themes/twentyeleven/
wp-content/themes/twentytwelve/
..
Bỏ qua mọi thứ trong thư mục đầu tiên /wp-content/*
và bỏ qua!/wp-content/themes
/*
!/wp-content
/wp-content/*
!/wp-content/themes
Bây giờ các tệp Unracked sẽ tiếp tục thu hẹp chỉ còn wp-content/themes
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-content/themes/twentyeleven/
wp-content/themes/twentytwelve/
..
Lặp lại quá trình cho đến khi tệp giả đó là tệp duy nhất vẫn hiển thị là Không bị chặn:
/*
!/wp-content
/wp-content/*
!/wp-content/themes
/wp-content/themes/*
!/wp-content/themes/my-theme
$ git status
Changes to be committed:
new file: wp-content/themes/my-theme/index.php
new file: wp-content/themes/my-theme/style.css
Untracked files:
wp-content/themes/my-theme/DUMMY.TXT
**
ký tự đại diện chỉ hoạt động nếu bạn không có dấu gạch chéo trong mẫu của mình, xem spareth think.wordpress.com/2011/07/19/ trên