Cómo evitar que el autor de Git commit sea cambiado

Quiero hacer usuarios distintos para mis commits de Git. Por ejemplo, ahora tenemos 5 sistemas instalados con Git. Pero al comprometer un cambio en el repository remoto de Git, puedo cambiar mi nombre de autor pnetworkingeterminado y el correo electrónico en la window de confirmación.

¿Cómo puedo hacerlo para que no puedan ser cambiados?

Tu repository de Git es tuyo . Puedes hacer lo que quieras . Nadie más puede impedirte, y no puedes evitar que otra persona haga lo que quiera en sus repositorys.

En resumen, no hay nada -literalmente nada- que pueda evitar que otra persona afirme ser usted, o para evitar reclamar ser otra persona. Este es el mismo problema que tiene un cajero automático bancario. Para asegurarte de que eres , y Fnetworking es Fnetworking, y así sucesivamente, debes salir del problema y search la authentication . Si alguien dice ser Fnetworking, ¿cómo sabes si él es Fnetworking o no? Especialmente, ¿cómo puedes saber si él es realmente Fnetworking si nunca lo has visto antes? ¡Podría ser Ravi, Binyamin o Jürgen!

Si tú y Fnetworking tienen un secreto compartido, o alguna otra forma de decidir si creerle, puedes usar eso. Y eso es todo lo que puede hacer: decidir, en el momento en que obtiene un set de compromisos de alguien, ya sea que los creas o no cuando te dicen que son Fnetworking.

Git tiene incorporada la verificación de firma GPG, hasta cierto punto (no hace las cosas de la firma GPG en sí misma, sino que se basa en software de terceros). Puede firmar confirmaciones individuales o firmar una label anotada. Por una serie de buenas razones, firmar confirmaciones individuales suele ser más costoso que beneficios. Git se compromete a formar un Merkle Tree , por lo que verificar la firma de una label anotada proporciona un nivel razonable de security sobre los compromisos alcanzados por esa label. (La cantidad de protección, sin embargo, no es mucho mayor que la de SHA-1). Consulte también GPG .

Mientras se compromete, puede configurar el autor de cada compromiso

git commit -m "Your commit message" --author="Author Name <author.name@example.com>" 

He incluido el -m para este ejemplo, pero puede excluirlo y configurar el post de confirmación en su editor favorito.

Esto supone que estás usando la CLI, si estás usando una GUI / IDE, házmelo saber y veré si puedo encontrar cómo usar la configuration del autor en eso.