git リポジトリを更新するスクリプトが必要です。レポのあるフォルダーが存在する場合はレポを更新し、そのようなフォルダーがない場合はレポを複製したい。
そのスクリプトに2つのことを指定したい:
- git リモート URL (例
ssh://git.example.com/var/git/repo.git
) - git リポジトリがあるべき場所 (例
/var/lib/git/repo
)
この種のスクリプトを作成することはそれほど難しくありませんが、このタスクは非常に一般的なものであり、既に解決されていると思います。
作業は非常に簡単ですが、慎重に行う必要があることがいくつかあります。たとえば、レポのメイン ブランチはマスターにはできませんが、エラーが発生した場合にスクリプトがゼロ以外の終了ステータスを与える必要があり、レポに何らかの変更があった場合に機能する必要があります。
私の質問は、リポジトリのクローン作成または更新のタスクを慎重に解決するためにどのスクリプトを使用できるかということです。