Tôi có dự án C# Visual Studio trong kho lưu trữ git. Tôi muốn bỏ qua nội dung thư mục bin/Debug
nhưng không phải nội dung của thư mục bin/Release
'. Tôi đã thêm bin/Debug
vào tệp .gitignore
của mình, nhưng nó có vẻ không hoạt động - nó bao gồm toàn bộ nội dung của thư mục bin
. Mục nhập chính xác sẽ làm gì?.gitignore và Visual Studio: Bỏ qua thư mục bin/Debug nhưng không phải thư mục bin/Release
Trả lời
tôi cố định này bằng cách thay thế bin/Debug
với Debug
.
Điều này cũng sẽ có ảnh hưởng đến bỏ qua thư mục obj/Debug
, tuy nhiên tôi muốn bỏ qua toàn bộ nội dung của thư mục obj
, vì vậy tôi cũng đã thêm obj
-.gitignore
.
Dưới đây là những gì chúng tôi đã sử dụng gần đây, nó xóa tất cả các công cụ được tạo lại và một số thứ quan trọng khác. Lưu ý rằng chúng tôi không cam kết thư mục phát hành của chúng tôi, vì vậy bạn không nên bao gồm Release/
trong số .gitignore
của mình, nhưng để trả lời câu hỏi của bạn, bạn nên bao gồm Debug/
.
/build/
*.suo
*.user
_ReSharper.*/
*.sdf
bin/
obj/
Debug/
Release/
*.opensdf
*.tlog
*.log
TestResult.xml
*.VisualState.xml
Version.cs
Version.h
Version.cpp
CẬP NHẬT
Dưới đây là một ví dụ khá toàn diện từ github:
Điều này có thể sẽ không hoạt động do' bin/'bỏ chỉ thị làm' Debug/'và' Release/'dư thừa. –
Bạn nên thử trước ... – Noah
@ Gary.S, nó vẫn hoạt động. Các dòng sau chỉ thừa và có thể bị xóa. –
Điều này thường xảy ra vì wa .gitignore s được thêm vào sau khi các tệp đã được cam kết. Các .gitignore nói git để bỏ qua các tập tin untracked phù hợp, một khi các công cụ cam kết bỏ qua sẽ không còn làm việc. Một cách để khắc phục nó là xóa thư mục bin/debug (thủ công thông qua explorer/powershell/bash), sau đó cam kết xóa. Một khi điều đó được thực hiện, những lời bỏ qua sẽ hoạt động như bạn mong đợi.
- Gỡ bỏ các file/thư mục
git add -A
git commit
Bạn không cần phải xóa mọi thứ. Sau khi bạn thêm các tập tin .gitignore, chạy lệnh này để xóa bộ nhớ cache, sau đó sân khấu và cam kết một lần nữa:
git rm -r . --cached
Lưu ý * sau đó là giai đoạn và cam kết lại * – gidmanma
Vâng, nếu bạn đã đến bên với gitignore của bạn, thì đây là giải pháp đúng để làm theo ... khi bạn lên sân khấu và cam kết một lần nữa, tất cả các công cụ bin/obj cam kết trước sẽ bị xóa. Làm việc một điều trị. – davewasthere
Tôi biết đó là một câu hỏi cũ, nhưng tôi đã quyết định chia sẻ cách tiếp cận của tôi mà không bao gồm chính xác bin/Debug, bin/phát hành, vv
*/**/bin/Debug
*/**/bin/Release
*/**/obj/Debug
*/**/obj/Release
Chạy lệnh sau đây làm việc cho tôi (nhờ "orourkedd"):
git rm -r . --cached
tôi tự thêm .gitignore
tập tin nhưng nó đã không được xem xét cho đến khi tôi chạy lệnh này.
Sau đó tôi phải cam kết lại và tất cả đều tốt để thực hiện ngay bây giờ. /bin
và /obj
thư mục được loại trừ ngay bây giờ.
này làm việc cho tôi:
*.exe
*.pdb
*.manifest
*.cache
Nếu bạn đang sử dụng GitHub Desktop như tôi đang sử dụng nó, bạn chỉ có thể kích chuột phải vào tập tin bạn muốn loại trừ hoặc phải chuột vào nó và loại trừ bằng cách mở rộng:
Điều này sẽ tự động tạo một tệp .gitignore
cho bạn với mã như trên. Bạn có thể tải GitHub Desktop tại đây: GitHub Desktop for Windows 64-bit.
Điều này có thể hơi bị tắt chủ đề, nhưng bất cứ khi nào bắt đầu tạo dự án mới, tôi thường sử dụng GitIgnore.IO để tạo tệp gitignore ban đầu và sau đó tôi tweek nó từ đó theo nhu cầu của tôi.
hiển thị cho chúng tôi tệp '.gitignore' của bạn, vui lòng – uday
thêm 'Debug /' vào .gitignore – Noah