2012-03-18 41 views
22

Tôi mới dùng GitHub. Khi tôi nhấp vào liên kết Wiki, một Wiki mới đã được tạo cho repo của tôi. Nhưng tôi không thực sự cần nó. Nếu tôi cố gắng xóa trang duy nhất của nó, GitHub hỏi: "Bạn có chắc chắn muốn xóa trang này không?". Và tôi xác nhận điều đó. Và không có gì xảy ra, trang vẫn còn đó. Tôi không thể nói rằng nó quá khó chịu, nhưng tôi muốn biết nếu có một cách để xóa Wiki.Xóa Wiki của GitHub repo

Trả lời

16

Nhấp vào nút Cài đặt trên trang GitHub của dự án và bỏ chọn Wikis.

Nó sẽ biến mất.

+0

GitHub được đánh bóng khá tốt khi nói đến giao diện, vì vậy những thứ như thế không quá phức tạp. – Blender

+2

Đó là trong Cài đặt-> Tùy chọn-> Tính năng ngay bây giờ. – Nikolai

+8

Thực ra điều này chỉ làm cho Wiki vô hình. Nó không thực sự xóa nó. Nếu bạn quay trở lại trang quản trị và bấm vào hộp kiểm wiki ở đó, nội dung một lần nữa sẽ được hiển thị. [qua] (http://stackoverflow.com/a/13447204/1485952) – fnkr

7

Đầu tiên, khám phá URL của repo của bạn:

$ cd your-project 
$ git remote -v 
origin [email protected]:belden/foo.git (fetch) 
origin [email protected]:belden/foo.git (push) 

Clone wiki của bạn; URL của nó là URL của dự án của bạn, kết thúc với 'wiki.git':

$ cd /tmp 
$ git clone [email protected]:belden/foo.wiki.git foo-wiki 
Cloning into 'foo-wiki'... 
remote: Counting objects: 375, done. 
remote: Compressing objects: 100% (159/159), done. 
remote: Total 375 (delta 214), reused 375 (delta 214) 
Receiving objects: 100% (375/375), 78.41 KiB, done. 
Resolving deltas: 100% (214/214), done. 

Bây giờ chỉ cần đối xử với nó như một dự án bình thường mà bạn muốn xóa các tập tin từ:

$ cd foo-wiki 
$ git rm *.md 
$ git commit -am "remove wiki pages" 
$ git push 

Và bạn đã hoàn tất .

+0

Điều này giữ toàn bộ lịch sử, sao cho bạn có thể mang lại nội dung cũ của Wiki nếu bạn thích (xem 'git log '). Nếu bạn muốn xóa lịch sử, hãy xem biến thể của tôi. ('git' sẽ không cho phép bạn giết lịch sử mà không có' git push - force', vì vậy nếu bạn bỏ qua '--force' bạn đang ở bên an toàn trong khía cạnh đó) – Tino

9

Các bit bị thiếu nằm trên GitHub như mọi khi. Kết hợp với thông thường git -fu bạn có thể xóa tất cả dữ liệu trên một repo GitHub, ví dụ phá hủy một wiki ACCOUNT/REPO.wiki.git:

git clone [email protected]:ACCOUNT/REPO.wiki.git 
cd REPO.wiki 
git checkout --orphan empty 
git rm --cached -r . 
git commit --allow-empty -m 'wiki deleted' 
git push origin empty:master --force 

Cảnh báo! Công thức này cho phép thực sự tiêu diệt tất cả dữ liệu (trên bất kỳ repo nào) trên GitHub, ngoại trừ những gì có thể vẫn được lưu trữ ở đâu đó. Thử nghiệm của tôi cho thấy rằng ngay cả

git clone --mirror [email protected]:ACCOUNT/REPO.wiki.git 

không thể mang lại bất kỳ dấu vết dữ liệu cũ nào sau đó. BTW học cách hiểu những gì ở trên là một bài tập tốt trong việc học git;)

+0

Xin lưu ý rằng bạn có thể cần để xóa tất cả các nhánh và thẻ khác, ngoại trừ 'master'. Cũng lưu ý rằng bạn có thể bảo vệ các nhánh trên GitHub trong 'Cài đặt'. Một chi nhánh được bảo vệ như vậy từ chối để có được một cái gì đó đẩy với '- force'. Vì vậy, hãy chắc chắn để không bảo vệ các chi nhánh trong câu hỏi, quá. – Tino

Các vấn đề liên quan