2013-04-27 2 views
7

Я случайно добавил файл к одному из моих Гистов, но я не знаю, как его удалить. Как это сделать? (То есть, как удалить файл из Сущности, не удаляя всю GIST?)Как удалить файл из Gist?

Когда я редактирую и нажмите на (x) слева от имени файла, то и имя файла и его содержимое исчезают, но не редактор. И когда я хочу его сохранить (Update Gist), возникает ошибка: «Файлы не могут быть пустыми».

+0

Итак, как я понимаю из ответов ниже, нет GUI-метода, но я могу рассматривать их как обычные репозитории Git и push-версию с удаленным файлом. –

ответ

2

Я не нашел путь через графический интерфейс.

Однако помните, что вы можете клонировать gist, удалять файл и выталкивать новую версию этого Gist обратно в GitHub с удалением этого файла.

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 

Если вы не хотите этот файл в истории (журнал) вашей сущности, вы можете 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

гов являются Git репозиториев, поэтому вы можете клонировать, что суть в ваш компьютер, обрезать этот файл и принудительно вернуть репозиторий gist обратно в GitHub.

Вы находите свой URL-адрес для клонирования слева от своей сути.

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 

Таким образом, все, включая вашу историю, очищается (в этом примере файл является неправильным файлом).

+0

Я знаю, что прошло 3 года, но, СПАСИБО, это, если в первый раз в истории я боюсь делать что-то в git, начинаю искать решение и исправляю его в течение 2 минут вместо 10 часов и 500 кликов по страницам ! –

5

Это работает для меня в пользовательском интерфейсе:

  • обновление сутью
  • удалить содержимое
  • удалить имя файла
  • нажмите на синий крест, где имя файла было

Форма для файла должна исчезнуть.

После этого сохраните свой текст.