-
pull.ff onlyopull.rebase true- Ambas configuraciones buscan evitar crear commits de merge por accidente cuando al ejecutar
git pullla rama difiere de la rama superior. pull.rebase trueequivale a ejecutargit pull --rebasecada vez.pull.ff onlyequivale a ejecutargit pull --ff-onlycada vez.- No tiene sentido usar ambas configuraciones al mismo tiempo, ya que
--ff-onlysobrescribe--rebase.
- Ambas configuraciones buscan evitar crear commits de merge por accidente cuando al ejecutar
-
merge.conflictstyle zdiff3- Una configuración que hace que los conflictos de merge sean más fáciles de leer.
diff3cambia la forma en que se muestran los conflictos de merge en la configuración predeterminada para mostrar el código original en medio.zdiff3es una versión mejorada dediff3y suele considerarse superior.
-
rebase.autosquash true- Una función que facilita modificar commits antiguos.
- Si haces commit con
git commit --fixup OLD_COMMIT_ID, al ejecutargit rebase --autosquash mainel commitfixup!se combinará automáticamente con su objetivo.
-
rebase.autostash true- Ejecuta automáticamente
git stashygit stash popantes y después degit rebase.
- Ejecuta automáticamente
-
push.default simple,push.default current- Configura que la rama actual se haga push automáticamente a una rama remota con el mismo nombre.
push.default simplees la configuración predeterminada y solo funciona cuando la rama ya está siguiendo una rama remota.push.default currentsiempre hace push de la rama local a una rama remota con el mismo nombre.
-
init.defaultBranch main- Al crear un nuevo repositorio, crea la rama
mainen lugar demaster.
- Al crear un nuevo repositorio, crea la rama
-
commit.verbose true- Agrega el diff completo del commit al editor de texto donde se escribe el mensaje de commit, para ayudar a recordar qué se hizo.
-
rerere.enabled true- Recuerda cómo resolviste los conflictos de merge durante
git rebasey los resuelve automáticamente.
- Recuerda cómo resolviste los conflictos de merge durante
-
help.autocorrect 10- La función de autocorrección de git detecta errores de escritura, pero no ejecuta automáticamente el comando corregido.
- Para que se ejecute automáticamente, configura
help.autocorrectcomo1,10,immediateoprompt.
-
core.pager delta- El "pager" usado para mostrar la salida de
git diff,git log,git show, etc. - Configura
deltacomo una herramienta avanzada para ver diffs con resaltado de sintaxis.
- El "pager" usado para mostrar la salida de
-
diff.algorithm histogram- El algoritmo de diff predeterminado suele causar problemas cuando cambia el orden de las funciones.
diff.algorithm histogrammuestra esto de forma más clara.
-
core.excludesfile:.gitignoreglobal- Configura un archivo global de gitignore que se aplica a todos los repositorios.
-
includeIf: configuración de git separada para lo personal y el trabajo- Se usa para configurar distintas direcciones de correo para repositorios personales y de trabajo.
-
url."git@github.com:".insteadOf 'https://github.com/'- Sustituye automáticamente
https://github.comporgit@github.com:.
- Sustituye automáticamente
-
fsckobjects: prevención de corrupción de datos- Una configuración que detecta activamente la corrupción de datos y que ha salvado al equipo varias veces.
-
Configuraciones relacionadas con submodules
status.submoduleSummary truediff.submodule logsubmodule.recurse true
-
Otras configuraciones
blame.ignoreRevsFile .git-blame-ignore-revsbranch.sort -committerdatecolor.ui falsecommit.cleanup scissorscore.autocrlf falsecore.editor emacscredential.helper osxkeychaindiff.tool difftasticdiff.colorMoved defaultdiff.colorMovedWS allow-indentation-changediff.context 10fetch.prune trueyfetch.prunetagsgpg.format sshlog.date isomerge.keepbackup falsemerge.tool meldpush.followtags truerebase.missingCommitsCheck errorrebase.updateRefs true
-
Cómo configurarlas
- Por lo general, se configuran con
git config --global NAME VALUE. - Para eliminar una opción, edita manualmente
~/.gitconfig.
- Por lo general, se configuran con
-
Configuraciones que cambié después de escribir este artículo
diff.algorithm histogrambranch.sort -committerdatemerge.conflictstyle zdiff3
-
Cierre
- Es útil preguntarles a muchas personas cuáles son sus configuraciones favoritas y enumerar las que más se mencionan.
Opinión de GN⁺
- Lo más importante de este artículo es que permite conocer las opciones de configuración de git que los desarrolladores usan con frecuencia.
- Para ingenieros de software principiantes que usan git, estas configuraciones pueden ayudar a mejorar la eficiencia del trabajo y resolver problemas cotidianos.
- En particular, configuraciones como
merge.conflictstyle zdiff3orebase.autosquash truepueden reducir problemas en la colaboración al facilitar la resolución de conflictos de merge y la gestión del historial de commits.
4 comentarios
También puedes usar el comando
git config --global --unset NAMEpara eliminar una opción.Para revisar tu configuración, agrega
git config --list.Me pasó que lo había configurado en mi entorno principal de desarrollo, pero en otro entorno no estaba configurado y yo me preguntaba por qué no funcionaba... jajaja. Como desarrolladores usamos Git todos los días, así que estaría bueno que hubiera más interés en todo lo relacionado con la configuración de Git.
Comentarios en Hacker News
core.autocrlfysafecrlfgitattributesaliasen.gitconfigrebase.autosquashy aliasfixuppull.rebasetambién es importante, perofixupse usa más seguidoinsteadOfadvice.statusHints,include.path,remote "origin".fetch,interactive.singleKey, entre otras.gitconfigalias,tag,tar,log,pull,diff,difftool,pager,safe,advice,initdeltacomo paginadoruser.useConfigOnlypara usar varios correos electrónicosuser.email, se configura el correo al hacer commit en un repositorio nuevomerge.conflictstylediff3ofrece más información para resolver conflictoscore.commentChar,alias.newtask,alias.zip,git checkout -,format.pretty, configuración dedeltabranch.sort.gitconfigalias.lg,alias.hist,alias.quick-push,alias.search,user,core,urlquick-pushLo anterior resume las configuraciones personales de
.gitconfigque compartieron usuarios en los comentarios de Hacker News y los consejos de configuración de Git que prefieren. Estas configuraciones se enfocan en mejorar la eficiencia al usar Git, automatizar tareas específicas y mejorar la experiencia de uso.