@newaitix

Nodejs скрипт для заливки в репозиторий.?

Я задался вопросом: - а возможно ли создать скрипт который будит автоматом комитить файлы на github ?
- Наверно да и наверно это нужно делать через выполнение команд в git bash. Ответил я сам себе и порылся в интернете.
Создал репозиторий в ручную в ручную сделал пару комитов.
Затем прописал
var exec = require('child_process').exec;
exec('git status',{cwd:'./public/'},function(error,stdout,stderr){console.log(stdout);});

И когда увидел ответ был очень рад
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   library.js
        modified:   library.min.js

Затем еще строка
exec('git add .',{cwd:'./public/'},function(error,stdout,stderr){console.log(stdout);});

И еще ответ
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   library.js
        modified:   library.min.js

Затем
exec('git commit -m ""',{cwd:'./public/'},function(error,stdout,stderr){console.log(stdout);});

И еще
exec('git push -u origin master',{cwd:'./public/'},function(error,stdout,stderr){console.log(stdout);});

Но получил в ответ только конец ответа
Branch 'master' set up to track remote branch 'master' from 'origin'.

Захожу в репозиторий а там всё как было все так и осталось
Как слделать так чтоб скрипт сам заливал нужные файлы в гит репозиторий ?
  • Вопрос задан
  • 176 просмотров
Решения вопроса 1
@newaitix Автор вопроса
Решил так
var exec = require('child_process').exec;
exec('git init',{cwd:'./public/'},function(error,stdout,stderr){
	exec('git status',{cwd:'./public/'},function(error,stdout,stderr){
		exec('git add .',{cwd:'./public/'},function(error,stdout,stderr){
			exec('git commit -m "sadsdasd"',{cwd:'./public/'},function(error,stdout,stderr){
				exec('git push origin master:username,{cwd:'./public/'},function(error,stdout,stderr){
				});
			});
		});
	});
});

Вместо username нужно указать имя мастера.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы