2015-02-27 17 views
10

Tôi muốn làm điều đơn giản, bỏ qua .suo tập tin và bin và thư mục obj từ cam kết để git repo. Tôi đã tạo tập tin .gitignore và nó làm việc cho các thư mục bin và obj, nhưng nó vẫn cho phép .suo tập tin cam kết. Nội dung của gitignore rất đơn giản:gitignore không bỏ qua .suo Visual studio file

/build/ 
*.suo 
*.user 
_ReSharper.*/ 
*.sdf 
bin/ 
obj/ 
Debug/ 
Release/ 
*.opensdf 
*.tlog 
*.log 
TestResult.xml 
*.VisualState.xml 
Version.cs 
Version.h 
Version.cpp 

Trước hết tôi đã nghĩ rằng vấn đề là .suo tập tin là đã có trên repo, vì vậy tôi đã sử dụng bộ git lệnh để xoá bỏ nó từ repo:

git rm "file.suo" 
git commit -m "suo removed" 
git pull origin master 
git push origin master 

Và mọi thứ suôn sẻ, .suo bị xóa cục bộ, nó bị xóa khỏi repo và trên lần commit tiếp theo, nó sẽ được đẩy lại để repo.

Trên ảnh được cam kết .suo tệp.

enter image description here

Có ai có vấn đề như thế này không? Làm thế nào để giải quyết loại vấn đề này?

+1

Bạn có chú ý đến những gì 'git status' cho bạn biết? –

+0

có thể trùng lặp của [gitignore tất cả các tệp mở rộng trong thư mục] (http://stackoverflow.com/questions/10712555/gitignore-all-files-of-extension-in-directory) – nwinkler

+3

Có vẻ như bạn muốn sử dụng _ **/*. suo_ pattern để bỏ qua các tệp như thế này trong tất cả các thư mục. Mẫu bạn đã sử dụng chỉ áp dụng cho gốc của dự án. – nwinkler

Trả lời

6

Đây có thể là bản sao của GIT - Can't ignore .suo file

Và thành thật mà nói, bạn có thể thử đề xuất đó. Những gì bạn đang thiếu ở đây là để loại bỏ các tập tin *.suo đã được thêm từ kho git.

Câu trả lời khác có một bộ tốt đẹp của các lệnh để chạy:

git rm --cached *.suo 
git commit -m "Delete suo file from repository" 
Các vấn đề liên quan