ситуация
Я хотел бы сохранить данные с помощью git, зашифрованные (на некоторых платформах, таких как bitbucket или github ). Поэтому вопрос:
Вопрос
Я ищу различные без проблем способы:
Как настроить зашифрованный репозиторий на bitbucket (/ github)? Теперь я новичок в git, поэтому инструкция со всеми необходимыми шагами или шаг за шагом будет высоко ценится!
"Исследование"
git-crypt
Я нашел git-crypt, но на сайте упоминается, что он предназначен для шифрования одного файла. Если кто-то хочет зашифровать весь репозиторий, они отправляют git-remote-gcrypt .
git-remote-gcrypt
В своем README.rst они описывают это так просто, как
Быстрый старт
git remote add cryptremote gcrypt::rsync://example.com:repo git push cryptremote master > gcrypt: Setting up new repository > gcrypt: Remote ID is :id:7VigUnLVYVtZx8oir34R > [ more lines .. ] > To gcrypt::[...] > * [new branch] master -> master или под
Примеры
# notice that the target git repo must already exist and its # `next` branch will be overwritten! git remote add gitcrypt gcrypt::git@example.com:repo#next git push gitcrypt master Пытается
Я предпочитаю полное шифрование репозитория, поэтому я попробовал git-remote-gcryptс вариациями Quickstart и Example . До сих пор я пытался протолкнуть существующий репозиторий, следуя их инструкциям. Что приводит к этому: (примечание: я специально изменил имя пользователя на user)
-> sshкак в приведенном примере
[...]/git_test$ git remote add origin gcrypt::git@bitbucket.org:user/test.git [...]/git_test$ git push -u origin --allgcrypt: Development version -- Repository format MAY CHANGE gcrypt: Repository not found: git@bitbucket.org:user/test.git gcrypt: Setting up new repository gcrypt: Remote ID is :id: ... Zähle Objekte: 10, Fertig. Komprimiere Objekte: 100% (6/6), Fertig. Total 10 (delta 0), reused 0 (delta 0) gcrypt: Encrypting to: --throw-keyids --default-recipient-self gcrypt: Requesting manifest signature Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. error: Fehler beim Versenden einiger Referenzen nach 'gcrypt::git@bitbucket.org:user/test.git' или с https(который работал)
[...]/git_test$ git remote add gitcrypt gcrypt::https://user@bitbucket.org/user/test.git [...]/git_test$ git push -u gitcrypt --allgcrypt: Development version -- Repository format MAY CHANGE Password for 'https://user@bitbucket.org': gcrypt: Repository not found: https://user@bitbucket.org/user/test.git gcrypt: Setting up new repository Password for 'https://user@bitbucket.org': gcrypt: Remote ID is :id: ... Zähle Objekte: 10, Fertig. Komprimiere Objekte: 100% (6/6), Fertig. Total 10 (delta 0), reused 0 (delta 0) gcrypt: Encrypting to: --throw-keyids --default-recipient-self gcrypt: Requesting manifest signature Password for 'https://user@bitbucket.org': To gcrypt::https://user@bitbucket.org/user/test.git * [new branch] master -> master Branch master konfiguriert zum Folgen von Remote-Branch master von gitcrypt. Тем не менее, я не понимаю, как добавить пользователей или даже просто перенести мою резервную копию на другую машину (так как мой ключ gpg был сгенерирован локально) !? Не стесняйтесь просто ответить на использование git-remote-gcrypt.

Это может быть связано: - http://superuser.com/questions/676497/encrypt-files-before-sending-them-to-cloud Предоставленная ссылка [filter] [3] подтолкнула меня к мысли, что это хитрое использование функциональности git, которая изменяет код (/ content) при push / pull. А шифрование / дешифрование выполняется с помощью предоставленных сценариев. Если это так, то я бы предпочел способ, который легче установить без этих скриптов - таких программ, как git-remote-gcrypt. Более того, это раскрыло бы содержимое хранилища, верно?