git push não envie alterações no repositório Git remoto
Pergunta
Estou fazendo alterações em algum arquivo no meu repositório Git local e, em seguida, quero enviar as alterações para o repositório Git remoto do qual o local foi clonado via SSH.
Depois de executar "Git Commit -a" no meu lado local, para enviar as alterações para o controle remoto, eu corro
$ git push
Everything up-to-date
No entanto, verifiquei os arquivos remotos e eles não foram alterados! Qualquer ideia?
Obrigado e cumprimentos!
Solução
Você provavelmente empurrou para um repositório que não seja da barra, ou seja, um repositório que possui uma cópia de trabalho anexada a ele. Você não deveria ter ignorado o aviso git push
dá a você se perceber que esse é o caso.
Enfim, faça login na máquina remota, mude para o repositório e faça
git checkout <whatever branch you’re on>
Ai está. Na próxima vez, apenas entra em repositórios nus. :)
Outras dicas
Você já tentou o seguinte?
$ git push origin master:master
Descobri que o problema era que não havia adicionado os arquivos à atualização e uma mensagem. Corrigi isso usando os seguintes comandos:
git add .
e depois
git commit -m "updates done by..."
e depois
git push origin <repo_name>
Espero que isso ajude alguém;)
Eu tive o mesmo problema e foi porque Eu tinha checado a um ponto da história (Nesse caso, uma etiqueta), em vez da extremidade (cabeça) de qualquer ramo ou mestre. Eu faria a mudança e o comprometimento que teria sucesso e veria as mudanças na minha história local. Quando corri Push Git, o Git afirmou que tudo estava bem, mas a mudança não havia sido enviada ao servidor (que pode ser visto verificando os logs ou recolocando novamente o repositório e verificando seus logs). O melhor sintoma desse erro é ver a mensagem "Cabeça detida de ____"
A solução
O que realmente precisa fazer (se você fez o que eu fiz) é criar uma nova linha de desenvolvimento por criando um ramo e mudar para esse ramo antes da fazendo as alterações.
git branch [a new branch name]
git checkout [a new branch name]
Depois de comprometer as alterações, se você deseja que as alterações sejam empurradas para o servidor, você precisa empurrar a própria ramificação para o servidor.
git push -u origin [local branch name]
Agora, se você clonar o repositório, verá suas alterações nos logs. No entanto, da próxima vez que você clonar o repositório, para poder ir até esse ponto que você acabou de mudar, você precisará fazer o check -out dessa filial, pois você não fará com que esteja na linha principal que está "mais" na linha de desenvolvimento de onde você se ramificou.
git checkout [branch name]
git commit --amend
Vai mudar o commit ID
E faça o repositório remoto "pensar" novas mudanças foram feitas.
Eu sugiro que você veja usar Gitose por hospedando esses repositórios nus. É realmente fácil de usar após a configuração inicial.
Digite "Git Log" no seu repositório remoto para ver se ele contém o mais recente confirmação. Caso contrário, você deve verificar a configuração do seu repositório local para ver as configurações remotas.
Para ver as mudanças no tipo diferente do seu repositório remoto:
R. Se o seu repositório remoto estiver vazio, você poderá encontrar os arquivos nas filiais do repositório remoto/ configuração Descrição Hooks/ info/ objetos/ refs/
Depois que a nova confirmação é pressionada, os arquivos em objetos/ diretório mudariam.
B. Se o seu repositório remoto não for a barra, digite "Git Checkout Master" e "Git Status" em seu repositório remoto para ver o status do arquivo. Veja se algum arquivo foi modificado ou excluído.
Nenhuma dessas soluções funcionou para mim, e as confirmações apareceriam no meu site ao vivo somente depois de executar GIT_WORK_TREE=/path/to/website git checkout -f
. Se esse é o seu caso, você deve adicionar um "gancho" à sua configuração Git.
Vá para sua pasta The Hooks dentro da pasta Git:
cd ~/path/.git
cd hooks
nano post-receive
Escreva esta linha no arquivo pós-recebimento:
GIT_WORK_TREE=/path/to/your/website/or/project/ git checkout -f
Por fim, você deve modificar as permissões do arquivo pós-recebimento:
chmod a+x post-receive
Isso executará esse comando toda vez que você pressionar, atualizando suas confirmações em seu projeto remoto.
Acabei de experimentar uma ocorrência igualmente frustrante de não ver minha mudança replicada no Github. Como um novo usuário do Git, apenas me acostumando ao uso do sistema, criei uma pasta no meu computador, adicionei, cometi, empurrei - sem alterações. Eu considerei a possibilidade de não poder pressionar um diretório vazio, então criei um arquivo vazio no diretório e depois repeti as etapas acima. Tudo melhor, a mudança foi instantaneamente refletida no meu repositório do Github.
Bem, é isso que funcionou para mim
git stash
git pull
git add .
git commit -m "commit message"
git push
Uma outra questão pode ser que, embora você possa ter usado
git add Seus-Dirs
Você deve se lembrar de cometer os arquivos nos diretórios
Git Commit -M'Add Your Message ' Seu-Dir/*
Em seguida, adicione um push git para empurrá -lo para o seu controle remoto