Estou vendo isso neste repositório GitHub :
O que isto significa? Como algo pode ser "criado há 7 dias" e ainda "comprometido há 14 horas"?
Estou vendo isso neste repositório GitHub :
O que isto significa? Como algo pode ser "criado há 7 dias" e ainda "comprometido há 14 horas"?
commit --date=
. Schwern explica isso muito bem.Respostas:
O Git tem um conceito separado do autor (a pessoa que escreveu o código) e o committer (a pessoa que o submeteu ao repositório). Da mesma forma, pode haver datas diferentes para ambos. Eles geralmente são os mesmos.
Você gostaria que eles fossem diferentes principalmente se a pessoa que escrever o código ou enviar o patch não tiver acesso por push ao repositório como nos projetos que usam listas de discussão para envio de patches. Neste caso, a pessoa com acesso impulso iria aplicar o patch e correr
git commit
tanto com os--author
e--date
interruptores ou usando as variáveis de ambiente GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL e GIT_AUTHOR_DATE (documentado em git-commit-árvore .O outro caso é usando
git cherry-pick
ou git rebase. O committer é a pessoa que faz a escolha da cereja e o autor é o autor do commit original. O Git cuidará da configuração da identidade e data do autor para você.Você pode ver essas informações no repositório com
git log --pretty=fuller
.fonte
git rebase
também faz com que a data de confirmação seja atualizada enquanto a data do autor permanece a mesma.Parece uma mistura entre como o Git funciona com datas e como foi referenciado com as palavras-chave de fechamento do GitHub .
Git separa entre datas de confirmação e autor. No Pro Git, eles entram um pouco na diferença :
Portanto, enquanto o código em si foi confirmado / gravado "7 dias atrás" (localmente), ele não foi "aplicado" ou corrigido no código até "14 horas atrás", pois não foi visto no controle remoto até o fechamento referenciado mensagem.
fonte