git eclipse que resuelve conflictos da como resultado la recomposition de cambios no modificados también

Empecé a usar git (en github) y tengo una pregunta sobre el flujo de trabajo para principiantes. Disculpas de antemano si la descripción es prolija, pero quería describir lo que estoy pensando mientras avanzo en el process para que pueda corregirme. También estoy usando el plugin Eclipse EGIT, y me doy count de que nunca será tan bueno como usar la command-line, pero solo tengan paciencia conmigo.

Nuestro proyecto está configurado de tal manera que mi socio posee un repository maestro y yo soy un queueborador privado. Cada vez que presiono, presiono directamente a su repository. En general, estamos de acuerdo con cometer, tirar y empujar, siempre y cuando no haya conflictos. El problema ocurre cada vez que hay conflictos. Aquí hay un ejemplo:

  1. Mi compañero y yo comenzamos a tirar el último código en nuestros repositorys de trabajo respectivos. No hay problema.
  2. Modifico FileA y FileB, agrego, confirmo y presiono ambos. No hay problema.
  3. Mientras tanto, mi compañero modifica FileA, luego intenta getlas para get mis actualizaciones.
  4. Eclipse le da un error : CheckOut conflicto con FileA
  5. Nos aventuramos en la tierra de git bash y obtenemos un post más útil al ejecutar git pull:

    error: sus cambios locales … escritos por fusión: FileA. Por favor, comprometa sus cambios o guárdelos antes de que pueda fusionarse.

  6. OK bastante justo. Confirma sus cambios (Archivo A) e intenta volver a tirar (a través de Eclipse).

  7. Él recibe un post que indica el conflicto FileA. Bien, esto es esperado. Ahora procede a resolver el conflicto en FileA y agrega un git en FileA para indicar que se ha resuelto.

  8. Ahora está listo para comprometerse y presionar. Él espera que sus cambios combinados en FileA sean empujados. Pero ahora, la siguiente es la parte que no entiendo. Aunque no modificó FileB en absoluto, Eclipse determina que es parte de su confirmación de forma pnetworkingeterminada, por lo que debe desmarcarlo manualmente para evitar volver a enviar FileB y así evitar presionar FileB (ya que no se realizaron cambios en él). Pero incluso hacerlo da como resultado que FileB se empuje hacia arriba. Como resultado, no solo termina presionando FileA, sino también FileB.

Me gustaría saber si estamos haciendo las cosas de la manera correcta, y como probablemente no lo somos, los consejos son apreciados.

Tal vez en el punto 6. ¿tu colegue hace una confirmación que contiene todos los cambios que hizo hasta un bash de tirar? Eso podría suceder si usa algo así como commit -a mucho. También podría ser el comportamiento pnetworkingeterminado de Eclipse para agregar todos los cambios a todos los files a una confirmación. Estos cambios pueden include los files A y B.

Para asegurarse de que solo se confirmen los cambios en FileA, se debe usar algo como esto:

 git add FileA git commit # Notice, no '-a' option 

No estoy seguro de si Eclipse permite este tipo de control detallado sobre qué cambios se realizan y cuáles no.