![](/img/trans.png)
[英]Is there a way to push to a remote Git repository without having to fetch its objects?
[英]Problems in git push without having to clone a repository
假设我在HTML
中完成了一个项目,其中我已经对其进行了一些版本控制。
假设我想在 GitHub 平台上上传它,我要做的第一件事就是创建一个存储库。 然后,将此存储库克隆到我的计算机中,将我的项目文件放入该文件夹,最后执行 git push 。
这个过程,我已经执行了,我知道它有效。
但是假设我不想克隆存储库并执行前面提到的所有步骤,而是保留我当前项目的文件夹并从那里推送。
为此,我相信我需要使用以下命令:
git remote add origin git@github.com:<mygitnameuser>/<nameofrepository>.git
git push -u origin master
但不幸的是,我最终收到以下错误消息:
git@github.com:权限被拒绝(公钥)。
我检查了git config --global
中存储的用户名和 email ,它们与我的 github 帐户相同,该怎么办?
我是否总是需要进行克隆,传递文件并在那里执行 git 推送?
我会看看你在 GitHub 上的 ssh 键。 它们位于https://github.com/<username>.keys
。 将其与您本地拥有的~/.ssh/id_rsa.pub
(这是针对 Linux 和 Mac。不确定它在 Windows/ git-bash
上的位置)进行比较。
如果它为空/不可用,则通过您的帐户设置填充它。 在这里查看如何: https://docs.github.com/en/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account
您可以按照以下说明检查 SSH 身份验证: https://docs.github.com/en/github/authenticating-to-github/testing
检查您已成功克隆的另一个存储库:
cd /path/to/other/repo
git remote -v
如果远程 URL 以https://
开头,那么您可以对新存储库使用更小的 URL :
git remote set-url origin https://github.com/<mygitnameuser>/<nameofrepository>.git
这样,您将需要输入您的 GitHub 用户名和密码,而不是处理 SSH 密钥设置。
对于关键错误,请关注文档以获取更多https://www.atlassian.com/git/tutorials/git-ssh
ssh-keygen -t ed25519 -C "your_email@example.com"
将您的 SSH 密钥添加到 ssh-agent(仅当您之前没有创建过,否则跳过此步骤)
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
复制 .pub 文件并将其粘贴到GitHub account settings -> ssh and gpg keys -> add new ssh key -> add a meaningful title like "Home laptop"
然后继续您的操作,就像您对任何存储库所做的那样。 本文讨论了一个类似的问题以及我们不需要克隆存储库的工作流程。
完成此操作后,无需克隆存储库,只需在 github 中创建一个存储库,然后在本地添加远程源并推送您的更改
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.