كيف اجعل travis يقوم بعمل deploy للملفات التي تم التعديل عليها فقط

السلام عليكم ورحمة الله وبركاته

من العايدين جميعًا وكل عام وانتم بخير

انا استخدم travis cl ليقوم بعملية deploy للملفات تلقائيًا بعد البناء

ملف .travis.yml الخاص بالمشروع

language: node_js
sudo: required
node_js: "stable"
install:
  - npm install
script:
  - npm start

deploy:
  provider: pages
  skip_cleanup: true
  github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard
  on:
    branch: master

كل شيء يعمل بشكل جيد

لكن المشكلة انه يقوم بعمل deploy لكامل المشروع في github وانا اريد فقط الملفات المعدل عليها

السؤال: كيف اجعل travis يقوم بعمل deploy للملفات التي تم التعديل عليها فقط؟

رابط المشروع:


أعتقد أن الـ git هو المسؤول عن التعامل مع الملفات وتحديثها، عموما ربما يفيدك

هذا السطر تستطيع الوصول للملفات المعدل عليها فقط

git  diff-tree --no-commit-id --name-only -r $(git log --pretty=format:'%h' -n 1)

شكرًا لك

الطريقة لم تنجح لكنني حللت مشكلة رفع كامل المشروع بالطريقة التالية

language: node_js
sudo: required
node_js: "stable"
install:
  - npm install
script:
  - npm start
after_script:
  - chmod +x deploy.sh
  - bash deploy.sh

ملف deploy.sh

git config user.name "$USERNAME"
git config user.email "$EMAIL"
git init
git remote add up "

https://$GITHUB_TOKEN@githu... " git clone https://github.com/$USERNAM...

git checkout -b gh-pages
git rm -rf .
rm -rf !\("out"|".git"|".gitignore"\)
cp -R ./out/. ./
git add .
rm -rf out
git commit -am 'تدوينة جديدة'
git push -f up gh-pages

المشكلة الان انه يكتب فوق الملفات من جديد