Как реализовать Git в чистом Javascript для создания графического интерфейса? - PullRequest
0 голосов
/ 10 мая 2018

после того, как я довольно много искал, ничего не находя, я здесь, чтобы спросить, есть ли способ реализовать Git в чистом веб-приложении на Javascript. Я уже знаю о Git.js, но он реализует только некоторые базовые вещи, и я также хотел создать свою собственную библиотеку, чтобы узнать больше о Git.

Что мне не нужно, так это API или библиотека, которая может мне помочь.

Я ищу что-то вроде:

var command = {{git commit -m "Hello world"}} // Also pure git implementation
gitExecute(command);

Я все еще младший разработчик, и, возможно, это может быть невозможно ... спасибо за ответ:)

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

То, что вы просите, может быть трудно сделать в браузере (потому что вам понадобится доступ к файловой системе для запуска команд git). Вам может понадобиться создать сервер NodeJS, который предоставляет конечные точки REST, к которым можно получить доступ через код в браузере, который предоставляет графический интерфейс. Серверный код NodeJS может запускать команды по мере необходимости и отвечать на запросы HTTP REST, которые затем могут использоваться вашим кодом в браузере для отображения / обновления графического интерфейса.

Недостаток этого метода в том, что вам нужно будет запустить сервер NodeJS на компьютере, на котором есть репозиторий, и он не будет работать, если репозиторий не является локальным для сервера.

Другой альтернативой является использование API REST, предоставляемых популярными поставщиками GIT , такими как GitHub .

EDIT:

Если подумать, ваш вариант использования может подойти для Electron App . Это позволит вам создать настольное приложение (с доступом к файловой системе и привилегиями для выполнения команд) с использованием Javascript.

0 голосов
/ 10 мая 2018

Для этого NodeJS является обязательным.

Вы можете установить git на свой серверный компьютер и выполнить свои cmds через дочерние процессы nodejs ( DOCs )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...