Git tiene soporte para detectar el cambio de nombre de archivos, por lo que si tiene suerte lo ayudará con eso. El siguiente es un borrador aproximado de lo que debe hacer.
Importe la versión original:
tar zxvf open-source-project-0.1.tar.gz
mv open-source-project-0.1 open-source-project
cd open-source-project
git init
git add .
git commit -m "Initial checkin of open-source-project-0.1"
git tag open-source-project-0.1
Ahora puede aplicar los cambios originales en una rama separada:
git checkout -b mychanges
cp /somewhere/where/your/changes/files/are/* .
git diff
git add .
git commit -m "My changes"
git tag my_changes_001
A continuación, actualizar a la versión más reciente:
git checkout master
tar zxvf open-source-project-0.2.tar.gz
mv open-source-project-0.2/* .
rmdir open-source-project-0.2
git add .
git commit -m "Update to open-source-project-0.2"
git tag open-source-project-0.2
Hasta ahora todo está registrado en el repositorio de git, ahora es el momento de comenzar a tratar de fusionar su cambios:
git checkout -b merge_test open-source-project-0.2
git pull . my_changes_001
Buena suerte ...
Si desea fusionar archivos manualmente, realmente recomiendo usar KDiff3. Suponiendo Archivo1.c es de código abierto-proyecto-0,1, Archivo2.c de código abierto-proyecto-0,2 y Archivo3.c de sus cambios, ejecute
kdiff3 -o merged_file.c file1.c file2.c file3.c
usaste 'git clone' para crear un repositorio local? – niry
Desafortunadamente, la fuente original no está bajo git, se lanza en un paquete con cada nueva versión. Pero estoy usando git para mi versión. – karatchov