繁体   English   中英

git 中的问题无需克隆存储库即可推送

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM