Создастся папка /home/user/deploy с копией репозитория, там можно делать git pull для обновления, но работать там будет сложно (не буду сейчас вдаваться в подробности), но это и не требуется, это же деплой. Работать надо в /home/user/repo.
find() ищет только по id. Без вариантов. Он не может найти по имени, если нет ID. Он вообще без ид ничего не может. Зато. first() ищет, как хочет.
Т.е. просто как-то законнектиться с сервером и копировать с него все данные вроде как по ftp или типа того.
С GitHub я уже работал через их виндовый десктоп. А для серверов есть что-то такое?