目标是将我的代码加密存储在BitBucket远程存储库上。有些东西应该处理加密和解密,所以我登陆了gcrypt或完整的git-remote-gcrypt。
我有一个配置了SSH密钥的Bitbucket帐户。
这就是我尝试过的。
rsync
我从手册上抄了这些命令。
git remote remove cryptremote
git remote add cryptremote gcrypt::rsync://git@bitbucket.org/user/cryptremote.git
git config remote.cryptremote.gcrypt-participants "user"
git push cryptremote master
控制台:
gcrypt:未找到存储库:rsync:git@bitbucket.org/user/cryptremote.git
gcrypt:设置新仓库
协议版本不匹配--您的shell是否干净?
(see rsync手册页中有相关说明)
rsync错误:compat.c(600)[sender=v3.2.3]上的协议不兼容性(代码2)
错误:无法将一些引用推送到'gcrypt::rsync://git@bitbucket.org/user/cryptremote.git'
3条答案
按热度按时间lskq00tm1#
freetalk@bitbucket.org
:我确认这永远不会起作用,因为Git远程存储库托管服务的SSH URL总是使用'git
'用户(并依赖SSH密钥来验证和识别实际的用户帐户)。spwhitton/git-remote-gcrypt
commit 6233fde提到:删除弃用的
gcrypt::ssh://
(使用rsync代替)因此,
rsync
URI似乎更受支持,如commit 3b69f81在您的案例中:
对于任何“
protocol version mismatch -- is your shell clean?
”错误消息,请尝试并put in your.bashrc
:但也要检查possible
rsync
version mismatch(例如,使用Bitbucket pipeline只显示rsync
版本)。与illustrated here一样,如果SSH不起作用,
gcrypt::https://user@bitbucket.org/user/test.git
HTTPS URL可能会更好。iovurdzv2#
感谢评论,我让它在HTTPS上工作。
我为自己和你写了一个小教程。
使用git-remote-gcrypt加密远程Git仓库
常规工作流程
gcrypt example with rsync didn't work with Bitbucket
gcrypt:未找到存储库:rsync:git@bitbucket.org/user/cryptremote.git gcrypt:正在设置新的存储库协议版本不匹配--您的shell是否干净?(有关说明,请参见rsync手册页)rsync错误:compat.c(600)[sender=v3.2.3]上的协议不兼容(代码2)错误:无法将一些引用推送到'gcrypt::rsync://git@bitbucket.org/user/cryptremote.git'
gcrypt over HTTPS
手册页中的模板,修改为HTTPS,示例存储库名称“cryptremote”:
修复gcrypt推取时GPG密码提示问题
git-remote-gcrypt
gcrypt.publish-participants
默认情况下,参与者的gpg密钥ID通过使用gpg -R进行加密而被隐藏。将此选项设置为true将禁用该安全措施。
感谢那些有用的东西。
然而,我不喜欢我不得不使用HTTPS和应用程序密码,因为Bitbucket现在迫使其用户使用HTTPS。
虽然我不知道为什么rsync不起作用,但似乎问题出在Bitbucket上,因为我在我的电脑和Android之间完美地使用了rsync。
uubf1zoe3#
所以,似乎说明各不相同,有些迹象甚至不起作用;我开始尝试各种组合的“:“vs“/“和“https”vs.“rsync”vs“git”....最后找到了一个似乎可以工作的组合:
当我进入gitlab仓库时,我可以看到两个十六进制名称的新文件。
但随后,我尝试将repo克隆回来,并得到以下错误:
有什么问题吗?刚才是我加密的,现在我不能复制了。
有什么建议吗?