Pregunta Cómo "dividir" archivos con git


Si tuviera que seguir el archivo en mi desarrollo rama:

# file.rb

class Code
 def methodA
  'aA1'
 end
 def methodB
  'bB2'
 end
end

pero en mi dominar rama que quería separar los métodos en diferentes archivos:

# in file.rb
class Code
  def methodA
    'aA1'
  end
end

# in extra.rb
class Code
  def methodB
    'bB2'
  end
end

Podría simplemente crear el archivo en desarrollo, luego pagar para dominar, rebase y separe el archivo manualmente, pero ¿es posible configurarlo para que cuando realice cambios en desarrollo se trasladaría a la "parte" derecha del archivo dominar?


10
2018-05-22 13:00


origen


Respuestas:


Para tener una parte dividida "transferida a la derecha" del archivo en 'master'' implicaría que Git podría detectar la división.

Y como ilustran por esto hilo reciente (este mes: mayo de 2009), Git todavía no está allí.
Eso podría funcionar para archivos grandes con una pequeña parte dividida en otro archivo, pero para archivos pequeños, el contenido parece "demasiado diferente" para el detector de cambio de nombre git para recoger los cambios.

Asi que rebase 'master' encima de 'development'podría funcionar, siempre que no haya publicado (push) 'master' ya que 'development'se ha realizado, porque tal operación (rebase) reescribirá el SHA-1 de commits en 'master'branch (ya que se reproducen en la parte superior de los commits del'development' rama)

Como lo describí en rebase vs.merge, si su rama de desarrollo no está "demasiado lejos" (en términos de modificaciones del maestro, otra estrategia sería volver a establecer el desarrollo en la parte superior del maestro, realizar la división y luego fusionar el desarrollo de nuevo a maestro (fusión rápida en este punto) )


4
2018-05-22 13:26



Preguntas populares