Git: Merge Conflict cuando solo se modifica localmente

Tengo una herramienta que genera datos para mi sitio, prepara una estructura de files adecuada y la coloca en mi repository de git (local). Para confirmar este cambio y enviarlo a repository remoto, he escrito un script de shell simple.

Cada vez que ejecuto todos los pasos en el script manualmente, funciona bien. Pero cada vez que ejecuto el código usando este script, aparece un conflicto de fusión. Aunque el cambio solo está en mi repository local.

a continuación está mi script

#!/bin/bash # Set Java Home as per needs export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_11 # open parent repository of blog cd ~/personal/github/blog/blog-raw-contents/ # stash any changes git stash # open output (prepanetworking site) which is another github repo cd ~/personal/github/blog/blog-raw-contents/output/ # stash any changes in this repo as well git stash # go to my tool folder cd ~/personal/github/blog/tools/sfoanalysis # run the tool java -jar sfoanalysis.jar "$@" # go to raw contents github repository cd ~/personal/github/blog/blog-raw-contents/ # the new files would be created in a folder with current date CURR_DATE=$(date '+%Y/%b/%d') # add, commit and push to remote repo git add content/projects/StackOverFlow/data/$CURR_DATE git commit -m "commit for $CURR_DATE" git push # this is a tool which converts raw content to site and places output in proper directory shammy -b # open site repository cd ~/personal/github/blog/blog-raw-contents/output # Works fine till here!!- perfect # added pull for safety when this was not working git pull # add files which will be changed after running above script git add projects/StackOverFlow/data/$CURR_DATE git add index.html git add version.json # commit changes git commit -m "commit for $CURR_DATE" # did this for safety (although no one else is changing) git pull --rebase # unfortunately it throws a merge conflict and script breaks here git push git stash apply cd ~/personal/github/blog/blog-raw-contents/ git stash apply 

debajo está la salida de la console

Procesando files -> este es el resultado del command shammy -b. problema es en algún lugar después de esta línea

 X11 forwarding request failed on channel 0 Already up-to-date. [gh-pages 1fe1380] commit for 2016/May/09 2 files changed, 2 insertions(+), 2 deletions(-) X11 forwarding request failed on channel 0 Current branch gh-pages is up to date. X11 forwarding request failed on channel 0 Counting objects: 10, done. Delta compression using up to 4 threads. Compressing objects: 100% (8/8), done. Writing objects: 100% (10/10), 982 bytes | 0 bytes/s, done. Total 10 (delta 6), reused 0 (delta 0) To git@github.com:mohitkanwar/blog.git 2bb455f..1fe1380 gh-pages -> gh-pages Auto-merging version.json CONFLICT (content): Merge conflict in version.json 

Por favor, ayúdame a identificar el problema.

Mi primer pensamiento es que necesitas usar comillas alnetworkingedor de las cadenas, de lo contrario, muchos commands interpretarán el espacio en blanco como un delímetro de argumento. Primero intentaría citar la mayoría de las cadenas que se pasan a un command.

A menudo puede confirmar lo que está sucediendo con los espacios en blanco a través de la capacidad de debugging de bash. Comience su script bash -x ./script.sh o agregue el set -x scripts set -x para ver la salida de debugging.