Como enviar alterações para o repositório Git a partir de um diretório não inicializado

StackOverflow https://stackoverflow.com//questions/24028512

  •  21-12-2019
  •  | 
  •  

Pergunta

Eu tenho uma cópia local de todos os arquivos de algum repositório Git em um diretório não inicializado, ou seja,não rastreado pelo Git (sem .git nele) e introduzi algumas alterações nele.Como faço para enviar essas alterações para o repositório Git remoto?

Essas ações podem descrever o que quero dizer:

  1. git clone … ./ - repositório clonado
  2. rm -Rf ./.git - repositório não foi mais inicializado
  3. vi ./somefile - algumas alterações introduzidas

Num aspecto mais prático:

Eu tenho um diretório clonado de alguma biblioteca criada por bower ferramenta de gerenciamento de dependências.Introduzi algumas alterações nesta biblioteca e agora quero enviá-las para o mestre.

Estou procurando uma maneira inteligente de reinicializar este diretório com o Git e enviar alterações como um único commit para o repositório remoto.

Foi útil?

Solução

Estou procurando uma maneira inteligente de reinicializar este diretório com o Git e enviar alterações como um único commit para o repositório remoto.

Fácil:inicialize-o em outro lugar:

cd /path/to/somewhere/else
git clone /url/to/bower
cd bower

Em seguida, faça referência à sua pasta antiga (onde você fez algumas alterações) como a árvore de trabalho do git enquanto você está no novo repositório clonado:

git --work-tree=/path/to/old/folder add .
git commit -m "changes'
git push

Veja o --work-tree opção do git comando.


Em teoria, você poderia fazer o git clone diretamente na sua pasta antiga com git clone -n:

cd /path/to/your/old/folder
git clone -n /url/of/bower .

(Pode reclamar que a pasta não está vazia; nesse caso, faça o git clone -n ​​fora e mova a pasta .git para sua pasta antiga)

Mas prefiro manter a pasta antiga intacta e realizar operações relacionadas ao git em um clone separado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top