Tôi đang làm việc trên một dự án trăn lớn và tôi thực sự bị bệnh nếu tệp .pyc và * ~. Tôi muốn loại bỏ chúng. Tôi đã thấy rằng cờ -X
của git clean sẽ loại bỏ các tập tin không được theo dõi. Như bạn có thể tưởng tượng, tôi không theo dõi .pyc
cũng không phải *~
tệp. Và điều đó sẽ làm cho lừa. Vấn đề là tôi đã có một tập tin local_settings.py
mà tôi muốn giữ sau khi git sạch.Git: Loại trừ tệp có git clean
Vì vậy, đây là những gì tôi có.
.gitignore:
*.pyc
*~
local_settings.py
Khi tôi thực hiện lệnh này:
git clean -X -n -e local_settings.py
tôi nhận được danh sách các kết quả:
Sẽ loại bỏ local_settings.py
sẽ loại bỏ yêu cầu .txt ~
Xóa (othe r bó) ~ file
Sẽ loại bỏ (bó khác) file PYC
Tôi không muốn để loại bỏ các tập tin local_settings.py. Tôi đã thử rất nhiều cách để làm điều đó, nhưng tôi không thể tìm ra cách để hoàn thành nó.
git clean -X -n -e local_settings.py
git clean -X -n -e "local_settings.py"
git clean -X -n --exclude=local_settings.py
git clean -X -n --exclude="local_settings.py"
Và không có gì có vẻ hiệu quả.
EDIT:
Đối với hậu thế, đúng cách để làm điều đó là (Cảm ơn @Rifat):
git clean -x -n -e local_settings.py # Shows what would remove (-n flag)
git clean -x -f -e local_settings.py # Removes it (note the -f flag)
Embrace '~ .pyc's, cấu hình soạn thảo của bạn để đặt các temp/tập tin sao lưu trong thư mục khác (hay không ở tất cả) và quên đi 'git clean'ing. Đừng nuôi OCD của bạn – KurzedMetal
Bạn đã cam kết * .pyc's và * ~ chưa? –
'git update-index --skip-worktree local_settings.py' có giúp ích gì không? –