2013-04-27 40 views
7

Tôi vô tình thêm tệp vào một trong các Gists của tôi, nhưng tôi không biết cách xóa nó. Làm thế nào để làm nó? (Tức là, làm thế nào để xóa một tập tin từ một Gist, mà không xóa toàn bộ Gist?)Cách xóa tệp khỏi Gist?

Khi tôi chỉnh sửa và click vào (x) trên bên trái của tên tập tin, sau đó cả hai tên tập tin và nội dung của nó biến mất, nhưng không trình chỉnh sửa. Và khi tôi muốn lưu nó (Update Gist), có lỗi "Tệp không được để trống".

+0

Vì vậy, như tôi hiểu từ các câu trả lời dưới đây, không có cách nào GUI, nhưng tôi có thể coi chúng như là kho Git bình thường và phiên bản đẩy với tệp đã xóa. –

Trả lời

2

Tôi không tìm thấy cách nào thông qua GUI.

Tuy nhiên, hãy nhớ rằng bạn có thể sao chép một ý chính, xóa tệp và đẩy phiên bản mới của Gist đó trở lại GitHub, với tệp đó đã bị xóa.

P:\git\test>git clone https://gist.github.com/efd7e7774d9526484456.git 
Cloning into 'efd7e7774d9526484456'... 
remote: Counting objects: 8, done. 
remote: Compressing objects: 100% (4/4), done. 
remote: Total 8 (delta 0), reused 0 (delta 0) 
Unpacking objects: 100% (8/8), done. 

P:\git\test>cd efd7e7774d9526484456 

P:\git\test\efd7e7774d9526484456>dir 
Volume in drive P has no label. 
Volume Serial Number is D866-48E1 

Directory of P:\git\test\efd7e7774d9526484456 

27/04/2013 16:52 <DIR>   . 
27/04/2013 16:52 <DIR>   .. 
27/04/2013 16:52     5 f1 
27/04/2013 16:52     5 f2 
       2 File(s)    10 bytes 
       2 Dir(s) 43 554 910 208 bytes free 

P:\git\test\efd7e7774d9526484456>git rm f2 
rm 'f2' 

P:\git\test\efd7e7774d9526484456>dir 
Volume in drive P has no label. 
Volume Serial Number is D866-48E1 

Directory of P:\git\days\efd7e7774d9526484456 

27/04/2013 16:52 <DIR>   . 
27/04/2013 16:52 <DIR>   .. 
27/04/2013 16:52     5 f1 
       1 File(s)    5 bytes 
       2 Dir(s) 43 555 000 320 bytes free 

P:\git\test\efd7e7774d9526484456>git st 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  deleted: f2 
# 

P:\git\test\efd7e7774d9526484456>git commit -m "remove f2" 
[master d5a76f4] remove f2 
1 file changed, 1 deletion(-) 
delete mode 100644 f2 

P:\git\test\efd7e7774d9526484456>git push 

Username for 'https://gist.github.com': VonC 
Password for 'https://[email protected]': 
Counting objects: 3, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (1/1), done. 
Writing objects: 100% (2/2), 218 bytes, done. 
Total 2 (delta 0), reused 0 (delta 0) 
To https://gist.github.com/efd7e7774d9526484456.git 
    b93ce40..d5a76f4 master -> master 

Nếu bạn không muốn thấy file đó trong lịch sử (log) của ý chính của bạn, bạn có thể reset --hard:

P:\git\test\days\efd7e7774d9526484456>git lg 
* d5a76f4 - (HEAD, origin/master, origin/HEAD, master) remove f2 (3 minutes ago) <VonC> 
* b93ce40 - (7 minutes ago) <VonC> 
* d7d8b19 - (8 minutes ago) <VonC> 
* 5eae4d3 - (8 minutes ago) <VonC> 

P:\git\test\efd7e7774d9526484456>git reset --hard d7d8b19 
HEAD is now at d7d8b19 

P:\git\test\efd7e7774d9526484456>dir 
Volume in drive P has no label. 
Volume Serial Number is D866-48E1 

Directory of P:\git\test\days\efd7e7774d9526484456 

27/04/2013 16:52 <DIR>   . 
27/04/2013 16:52 <DIR>   .. 
27/04/2013 16:52     5 f1 
       1 File(s)    5 bytes 
       2 Dir(s) 43 554 832 384 bytes free 

P:\git\test\efd7e7774d9526484456>git push --force 

Username for 'https://gist.github.com': VonC 
Password for 'https://[email protected]': 
Total 0 (delta 0), reused 0 (delta 0) 
To https://gist.github.com/efd7e7774d9526484456.git 
+ d5a76f4...d7d8b19 master -> master (forced update) 
2

GIST là kho git, do đó bạn có thể sao chép mà ý chính để máy tính của bạn, prune rằng tập tin và lực lượng đẩy repist gist trở lại GitHub.

Bạn tìm thấy URL bản sao của mình ở bên trái của ý chính.

git clone https://gist.github.com/1234567.git 
cd 1234567 
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch wrong_file' --prune-empty --tag-name-filter cat -- --all 
git push origin master --force 

Cách này mọi thứ bao gồm lịch sử của bạn được làm sạch (trong ví dụ này tệp được gọi sai_file).

+0

Tôi biết đã 3 năm rồi, nhưng THANK YOU, đây là lần đầu tiên trong lịch sử tôi cảm thấy sợ hãi khi làm điều gì đó trong git, bắt đầu giải quyết một giải pháp và sửa nó trong vòng 2 phút thay vì 10 giờ và 500 lần nhấp chuột trang ! –

5

này đã làm việc cho tôi trong giao diện người dùng:

  • cập nhật ý chính
  • xóa nội dung
  • xóa tên của tập tin
  • nhấp chuột trên thập tự giá màu xanh nơi tên tập tin là

Biểu mẫu cho tệp sẽ biến mất.

Sau đó, hãy lưu ý chính của bạn.