Archivos detallados de Git Stashing antes de una confirmación

No estoy seguro de si lo que estoy buscando es un git-stash pero esto es lo que quiero hacer.

Tengo files de configuration personalizados para uso local. Esos files ya existen en Git. Ahora, si agrego una característica nueva (cambio de otros files), quiero esconder mi configuration y presionar confirmar y solo confirmar los files relacionados con mi nueva function.

Si uso git-stash, guarda todo. ¿Cómo puedo esconder mis files de configuration (solo)?

Gracias

Dos cosas.

  1. Debes organizar solo los files que deseas para la confirmación. Esto se hace usando git add . Incluso si tiene un montón de cambios, puede organizar solo los campos (y fragments de files usando git add -p ) que quiera confirmar usando git add. Deberías estar haciendo esto.

  2. A less que su file de configuration sea una parte integral de su aplicación (y quiera controlar la versión), debe ignore y ni siquiera la versión lo está controlando.

use git add -p y select solo aquellos cambios que quiera confirmar. esta es una buena práctica de todos modos, ya que actúa como una pequeña revisión del código.

stash intentó save todos los cambios locales no comprometidos en cualquier twig en una twig temporal sin nombre. Básicamente, sus internos son los mismos que los de la twig.

Probablemente ni siquiera tengas que verificar los files de configuration y, si lo haces, debes colocarlo en una twig para que solo se fusione en el sistema local.

Esto es tarde, pero encontré una mejor solución (hace algunos años).

Usando git-assume-status y git-unassume-status

 #!/usr/bin/env ruby # used to ignore modified files -- eg configuration files ret=%x{git status --porcelain} files=ret.lines.map { |x| x.split[1] } files.each do |file| # makes files resistant to git reset hard %x{git update-index --skip-worktree #{file}} %x{git update-index --assume-unchanged #{file}} end 

y para git-unassume

 #!/usr/bin/env bash # used to ignore modified files -- eg configuration files cd .git rm index cd .. git reset 

De esta forma, puede modificar sus files de configuration pero ignorarlos por el estado y otros commands de git add. Si cambias de opinión, ejecutas git-unassume