Я нашел некоторые деликатные вопросы, иллюстрирующие, как можно было бы записать автоматизацию сценария git push/pull
с кроном здесь и здесь, но я хочу уточнить это немного. Я только хочу продвинуть/вытянуть, если были изменения, внесенные в тот день.
Я в основном хочу, чтобы сценарий проверил журнал различия между источником и этим репозиторием и только продвинул или вытянул, если существуют изменения. Я не очень опытен с ударом и мерзавцем, таким образом, я действительно не знаю, где запустить, иначе я вставил бы то, что я попробовал до сих пор.
Спасибо за любую справку или руководство.
git push
и git pull
изменяют Ваши файлы только, когда существуют различия.
, если Вы пробуете к git add --all
, когда нет никаких изменений, это ничего не добавит, последующее git commit -m ""
и git push
не будет иметь никакого эффекта также.
сценарий, который Вы отослали, должен работать правильно.
, если Вы хотите дополнительные проверки, можно сделать git remote update
тогда git diff
для наблюдения различия прежде, чем объединить локальные файлы.
#!/bin/bash
cd projectdir
git add .
set +e # Grep succeeds with nonzero exit codes to show results.
git status | grep modified
if [ $? -eq 0 ]
then
set -e
git commit -am "updated on - $(date)"
git push
else
set -e
echo "No changes since last run"
fi