Зафиксируйте git в удаленном хранилище без клонирования любого локального хранилища. - PullRequest
0 голосов
/ 11 января 2019

Мой вопрос довольно прост, однако я не нашел ответа ни в StackOverflow, ни где-либо еще (кроме этого вопроса , но без ответа):

Кто-нибудь знает способ передать изменения GIT «напрямую» в удаленный репозиторий (в моем случае Github), не клонируя репозиторий в локальный и не выполняя коммит сначала в локальный репозиторий, а затем отправляя его в удаленный?

Коммиты будут выполняться программно из Python (используя просто командные строки GIT). Честно говоря, я не вижу преимущества (в моем случае) наличия отдельного сервера (для локальных репозиториев) и держу на нем огромный репозиторий git, просто чтобы в конечном итоге отправить их на Github.

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Вы не можете создавать коммиты с помощью инструментов командной строки Git (Python или не имеет значения) - эти инструменты требуют локального хранилища, и большинство из них требуют локальной проверки (рабочее дерево).

Вы можете создавать коммиты, используя Github API , но это намного сложнее, и вам нужен совершенно другой набор инструментов, таких как или любая другая оболочка Python Github API.

0 голосов
/ 11 января 2019

Вы можете клонировать репо с помощью -n, чтобы не извлекать какие-либо файлы.
--depth 1 будет усекать историю каждого файла до их последнего коммита

git clone -n git://path/to/repo.git --depth 1

cd repo

Извлекайте только те файлы, которые необходимо изменить для фиксации

git checkout HEAD file.ext

Только будьте осторожны, чтобы зафиксировать только тот файл, над которым вы работаете. Если вы сделаете что-то вроде git add ., вы будете удалять все файлы, которые вы еще не извлекли!

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