github - 如何设置git使用ssh而不是https?

标签 github ssh

$ git remote -v

origin https://github.com/my-repo/site-web.git (fetch)

origin https://github.com/my-repo/site-web.git (push)


我已经设置了ssh并运行了一个shell脚本,如下所示:
ssh -T git@github.com
git reset --hard
...
git pull
但是我仍然被提示输入密码。我认为远程服务器必须是git@github.com才能使ssh正常工作。
我有四个目录... a/ b/ c/d/,它们都指向此远程目录。但是我真的只希望ssh在a/中工作。我很高兴继续为其他人使用https。
我该怎么办?

最佳答案

如果a /是git仓库,则可以简单地更改其远程:

cd a
git remote set-url origin git@github.com/my-repo/site-web.git

但是,如果abcd是同一存储库的文件夹,则将更改所有它们的来源。

要仅对a/使用ssh,您将需要一个separate clone, as a sparse checkout,以便仅使用a/内容(并为该单独的克隆提供正确的远程URL)。

关于github - 如何设置git使用ssh而不是https?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27499004/

相关文章:

ssh - 通过 SSH 连接传输文件

git - SSH 协议(protocol)已被阻止,我无权访问远程 git 存储库

Git:从以前的提交中删除存储库中的文件

git - 使用 Git 和 Visual Studio 2015 pull 、编辑和推送文件

github - 如何使用 Jenkinsfile 设置 github 提交状态而不使用拉取请求构建器

python - 在 Paramiko 中执行多个命令,以便命令受其前任的影响

java - 如何通过 SSH 传输所有 RMI 流量

linux - 用于 ssh 的类似 teamviewer 的工具?

node.js - 从非 Master 分支拉取 NPM 私有(private)模块

git - 如何在 Gitlab CI 中获取 Gitlab merge 请求描述?