¿Cómo empujar un file al time pasado?

Ayer, hice cambios en un file de proyecto pero olvidé comprometerme y presionarlo en github. No quiero que mi racha de contribución se rompa después de 51 días … así que me gustaría llevar ese compromiso al ayer para que mi racha continúe … ¿Es posible?

¡Muchas gracias por adelantado!

Tengo ese script en mi path, llamado git-rcd , que cambia GIT_COMMITTER_DATE y GIT_AUTHOR_DATE de cualquier confirmación que desee (no solo la última)

 #!/bin/bash # commit # date YYYY-mm-dd HH:MM:SS commit="$1" datecal="$2" temp_branch="temp-rebasing-branch" current_branch="$(git rev-parse --abbrev-ref HEAD)" date_timestamp=$(date -d "$datecal" +%s) date_r=$(date -R -d "$datecal") echo "datecal=$datecal => date_timestamp=$date_timestamp date_r=$date_r" if [[ -z "$commit" ]]; then exit 0 fi git checkout -b "$temp_branch" "$commit" GIT_COMMITTER_DATE="$date_timestamp" GIT_AUTHOR_DATE="$date_timestamp" git commit --amend --no-edit --date "$date_r" git checkout "$current_branch" git rebase --autostash --committer-date-is-author-date "$commit" --onto "$temp_branch" git branch -d "$temp_branch" 

Lo que eso me permite es tomar el último compromiso que acabo de hacer y escribir:

 git rcd @ '1 day ago' 

Y listo! Mi último compromiso ha sido hecho ayer.

Cambia cualquier compromiso que desee:

 git rcd @~2 '1 day ago' 

Eso solo cambiaría el HEAD~2 (y no el HEAD~ o HEAD )

La secuencia de commands funciona incluso en Windows.

Una vez que se realiza el cambio, presione (o git push --force si presionó anteriormente con la date incorrecta). Y tu racha se conserva.

Ayer, hice cambios en un file de proyecto, pero olvidé comprometerme y presionarlo en github

Por lo que yo sé, los charts de contribución de GitHub se basan en las dates de confirmación, no en las dates de inserción. FWIW, incluso hay herramientas que abusan de esto para usar el gráfico de contribución como un tablero de dibujo (ver esta búsqueda en Google ).

Entonces, la manera más fácil sería

  • Comprometerse localmente ahora

  • Luego, vuelva a escribir su último compromiso para cambiar la date de autoría (elija la hora y la zona horaria que desee) con algo así como git commit --amend --date="Wed Jul 12 14:17 2014 +0900"

  • empujar