Como excluir um arquivo e uma pasta do repositório github.com usando a interface da web do github.com?

25

Como excluir um arquivo e uma pasta do repositório github.com usando a interface da web do github.com? Pesquisei no Google, mas não encontrei nenhuma resposta.

Eu descobri sobre como fazer usando comandos

No entanto, eu quero saber como fazê-lo usando o github.com.

metal-gear-solid
fonte
Definitivamente, existe uma maneira de editar arquivos, mas não tenho certeza de que haja uma maneira de excluí-los. De qualquer forma, você pode querer os comandos independentemente. Aprender git no terminal ou através de uma GUI pagará dividendos.
Christopher
Essa é uma pergunta válida, mesmo para usuários experientes do Git. Uso o git na linha de comando, mas apenas peguei um repositório, fiz uma alteração rápida e agora gostaria de remover um arquivo que não é mais necessário, sem ter que clonar o repositório em minha própria máquina.
precisa
Eu adicionei uma solução que, embora não seja diretamente do GitHub (é com prose.io), exclui todos os arquivos e, como resultado, também remove a pasta, pois ela está vazia. É feito com um script, portanto, não é necessário remover manualmente vários arquivos.
Arieljannai

Respostas:

12

Você pode excluir um arquivo usando o botão Excluir, mas não pode excluir diretamente uma pasta pela interface da Web. A maneira de excluir uma pasta do GitHub.com é excluir todos os arquivos dentro dela.

amar
fonte
Foi exatamente o que eu disse na minha resposta.
amar
3

Descobri que a exclusão de todos os arquivos em uma pasta excluirá automaticamente a pasta. Não é uma solução perfeita, mas parece pretendida.

Gabriel
fonte
3

Você tem algumas opções:

  1. Exclua todos os arquivos dessa pasta e o github excluirá a pasta automaticamente.
  2. Clone o repositório na sua máquina local e exclua a pasta (para isso, você pode usar o git bash / cmd, dependendo do seu sistema ou o aplicativo de desktop github, se instalado no sistema) e sincronizá-lo novamente com o servidor.
pharask
fonte
2

Você não especificou suas circunstâncias exatas; portanto, essa resposta pode não ser a desejada, mas se você estiver usando o Windows, poderá instalar o Github for Windows , o que permite executar todas as operações regulares do Git sem a linha de comando.

Você precisaria primeiro fazer check-out do repositório em uma pasta, excluir o arquivo da pasta (por exemplo, no Windows Explorer), depois confirmar suas alterações e sincronizar novamente com o repositório do Github.

DisgruntledGoat
fonte
3
Eu digo que o uso da interface da web do github.com é muito exato. Sua resposta está correta, mas não tem nada a ver com a pergunta.
28412 Alex
Tudo bem, mas o OP realmente não declarou qual era o problema dele, apenas que ele não gosta da linha de comando. Da mesma forma que as perguntas "como analisar HTML com regex" no SO são respondidas com "resolva seu problema de uma maneira diferente", minha resposta é um método alternativo, na hipótese de resolver qualquer problema que ele tenha. Claramente, você pode oferecer uma resposta melhor, se houver uma.
DisgruntledGoat
Na verdade, ele fez: “Como excluir um arquivo e uma pasta do repositório github.com usando a interface da web do github.com?” Ele deseja excluir um arquivo usando a interface da web - o site / aplicativo da web / github.com.
2928 Alex
Não, ele não fez. O título aqui é uma pergunta, não um problema. Muitas pessoas fazem uma pergunta que acham que resolverá o problema, mas existe uma maneira melhor de resolver o problema. Pode ou não ser o caso aqui, teremos que aguardar a resposta do OP.
usar o seguinte
2

Essa funcionalidade foi adicionada à interface da web do GitHub .

insira a descrição da imagem aqui

Dogsbody
fonte
2
Você tem alguma referência para isso, como uma postagem no blog ou uma captura de tela da funcionalidade desejada?
Andrew Lott
Claro, ver a imagem e depois de um pouco de pesquisa eu encontrei o blog também :-)
Dogsbody
Isso parece estar relacionado apenas à exclusão de arquivos - não à exclusão de pastas.
ms609 26/09
As pastas @ ms609 realmente não existem no git. Eles existem apenas arquivos retidos. Excluir (ou mover) todos os arquivos em uma pasta exclui a pasta automaticamente. Você verá que não há como criar uma pasta vazia no git
Dogsbody 26/09
Verdadeiro - mas excluir uma pasta que contém 1000 arquivos é uma tarefa árdua se cada arquivo precisar ser excluído individualmente.
ms609 26/09
2

Não é possível excluir pastas da interface da web do Github: https://github.com/isaacs/github/issues/225

Está na lista de recursos e permanecerá lá por um tempo, eu acho.

Koen Prins
fonte
1

Eu sei que não é da interface do GitHub, mas espero que esta solução seja adequada. Ele não requer nada além do seu navegador e resolve o problema melhor do que apenas com a interface do GitHub.

A maneira do script

Preperations

  1. Conecte sua conta do GitHub ao prose.io para gerenciar seus projetos.
  2. Abra a pasta desejada que você deseja excluir.
  3. Use este script [1]

O que faz?

Ele itera sobre os arquivos na pasta atual e os exclui. Quando não há arquivos em uma determinada pasta - o GitHub o remove.

var deleteSuccessful = 0, deleteFailed = 0;
var elements = $('a.delete');
var totalElements = elements.length;

function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

async function deleteFiles() {
    for (var i = 0; i < totalElements; i++) {
        var element = elements[i];
        var realConfirm = window.confirm;
        window.confirm = function(){
            window.confirm = realConfirm;
            return true;
        };
        try {
            element.click();
            deleteSuccessful += 1;
        } catch (error) {
            deleteFailed += 1;
        }

        await sleep(1000);
    }

    console.log("Total items identified: %d\nDeleted: %d\nFailed: %d\n** Operation %s **", 
        totalElements, deleteSuccessful, deleteFailed, totalElements == deleteSuccessful ? "successful" : "failed");
}

deleteFiles();

[1] Você pode inseri-lo no console do navegador e executá-lo, ou minimizá- lo e usá-lo como um bookmarklet.


Testado no Chrome 67.


Fontes utilizadas: 1 , 2

arieljannai
fonte
0

Eu encontrei uma solução parcial. Podemos excluir arquivos do github usando http://prose.io, mas apenas arquivos e não pastas

metal-gear-solid
fonte
prose.io é a resposta certa sobre como excluir um arquivo do github por meio de uma interface da web - não é a interface do github - mas funciona totalmente demais. Eu só estava procurando como fazer isso sem ir para a linha de comandos crípticos e é perfeito para o :-D trabalho
user1778402