• 上传项目到github上


    在github上先创建一个空仓库

    在github上新建一个仓库,点击你的头像,然后在出来的侧边栏选择 Your repositories
    在这里插入图片描述
    点击New创建一个新的仓库,即repository
    在这里插入图片描述
    输入你的仓库名称,选择public 或者 private.
    尽量不要勾选README
    如果你的本地项目有readme文件的话,你在push的时候可能会有冲突,就需要–force处理

    public是公开的,其他人也可以看到你的项目
    private是私人的,其他人无法看到你的项目

    在这里插入图片描述

    从WSL上传代码

    1. 初始化本地仓库
      在WSL中,打开你的代码所在目录。
    cd path/to/your/project
    
    
    • 1
    • 2

    比如我想把我的TEXTurePaper文件夹下的所有文件都上传
    在这里插入图片描述
    初始化一个新的Git仓库。

    git init
    
    • 1
    1. 添加所有文件到新的Git仓库
    git add .
    
    
    • 1
    • 2

    注意:这会添加当前目录和子目录中的所有文件。如果你只想添加特定文件或文件夹,可以指定它们(如:git add 或 git add /)。

    1. 提交您的代码
    git commit -m "Initial commit"
    
    • 1

    4.添加Github仓库为远程仓库

    Github项目页面复制“Clone with HTTPS”或“Clone with SSH”链接。

    # 建议先用  git remote -v  查看是否有存在的链接,如果有,且不是自己的仓库
    # 那就要删除,用   git remote rm origin   删除原来的链接
    # 然后再添加自己的仓库链接
    git remote add origin <Copied-URL>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    例如:

    # 使用HTTPS
    git remote add origin https://github.com/username/project.git
    
    
    • 1
    • 2
    • 3

    或如果你使用SSH这里建议使用SSH!!!

    
    # 建议你先执行“可能遇到的错误中的  1中的选择2  ”
    # 使用SSH
    git remote add origin git@github.com:username/project.git
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 推送代码到Github
    # git push -u origin master
    git push -u origin main
    
    
    • 1
    • 2
    • 3

    这将推送代码到Github上名为“main”的分支。

    1. 验证和完成
      打开Github,刷新项目页面,您应该能看到已上传的代码。

    这样您就成功地从WSL环境上传了代码到Github。

    可能遇到的各种错误

    (base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git commit -m "Initial commit"
    
    *** Please tell me who you are.
    
    Run
    
      git config --global user.email "you@example.com"
      git config --global user.name "Your Name"
    
    to set your account's default identity.
    Omit --global to set the identity only in this repository.
    
    fatal: empty ident name (for <aaa@ASUS.localdomain>) not allowed
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这个错误是因为Git需要知道提交是由谁进行的,所以它需要您设置全局或者针对当前仓库的用户名和邮箱地址。

    这里是解决步骤:

    选择1:
    设置全局级别的用户名和邮箱(不建议!!!)
    如果您希望在所有Git仓库中使用同一名称和邮箱,您可以运行以下命令:

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"
    
    
    • 1
    • 2
    • 3

    选择2:

    设置仓库级别的用户名和邮箱
    如果您只想针对当前的Git仓库设置用户名和邮箱,您可以在同一命令中省略–global选项:

    git config user.email "you@example.com"
    git config user.name "Your Name"
    
    
    • 1
    • 2
    • 3

    同样地,将其中的"you@example.com"和"Your Name"替换成您的实际邮箱地址和姓名。

    提交代码
    完成这些设置后,您就可以再次尝试提交代码:

    git commit -m "Initial commit"
    
    
    • 1
    • 2

    这次应该不会出现之前的错误信息了。然后,您可以继续之前的步骤,将代码推送到GitLab。

    (base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git remote add origin https://git.gxar.com/demo/TEXTure.git
    fatal: remote origin already exists.
    
    • 1
    • 2

    这个错误表示在当前Git仓库中,已经存在名为 origin 的远程仓库。如果你确定要用新的URL替换现有的origin,可以先删除旧的,然后添加新的。

    查看现有的远程仓库
    首先,你可以查看所有关联的远程仓库以及它们的URL:

    git remote -v
    
    
    • 1
    • 2

    删除现有的origin
    如果你确定要替换,可以先删除现有的origin:

    git remote remove origin
    # 或者使用
    git remote rm origin
    
    • 1
    • 2
    • 3

    添加新的origin
    然后,你就可以使用新的URL添加origin了:

    git remote add origin https://git.gxar.com/demo/TEXTure.git
    
    
    • 1
    • 2

    或者,直接更改origin的URL
    如果你不想删除现有的origin,也可以直接更新其URL:

    git remote set-url origin https://git.gxar.com/demo/TEXTure.git
    
    
    • 1
    • 2

    这样,你就成功地更改了远程仓库的URL。之后,你可以继续推送代码到新设置的origin。

    (base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git push -u origin master
    error: src refspec master does not match any
    error: failed to push some refs to 'https://git.gxar.com/demo/TEXTure.git'
    
    • 1
    • 2
    • 3

    检查当前分支
    首先,确保你在你想推送的分支上(通常是master或者main)。你可以使用下面的命令来查看所有的分支:

    git branch
    
    
    • 1
    • 2

    在这里插入图片描述

    (base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git remote add origin git@git.gxar.com:demo/TEXTure.git
    fatal: remote origin already exists.
    
    • 1
    • 2

    这个错误表明一个名为 origin 的远程仓库已经存在在您的本地Git配置中。如果您想添加一个新的远程仓库并将其命名为 origin,您有两个选项:

    选项一:删除旧的远程仓库
    a 首先,使用以下命令查看当前的远程仓库设置:

    git remote -v
    
    
    • 1
    • 2

    这会列出所有远程仓库以及它们的URL。

    b 然后,使用以下命令删除已有的 origin:

    git remote remove origin
    
    
    • 1
    • 2

    c 最后,添加新的 origin:

    git remote add origin git@git.gxar.com:demo/TEXTure.git
    
    
    • 1
    • 2

    选项二:使用不同的名字
    如果您不想删除旧的 origin,您可以选择一个不同的名字为您的新远程仓库。

    git remote add new_origin git@git.gxar.com:demo/TEXTure.git
    
    
    • 1
    • 2

    之后,您可以使用这个新的名字(new_origin)来进行 push、pull 等操作。

    例如:

    git push -u new_origin main
    
    
    • 1
    • 2

    选择一个方案后,按照对应的步骤进行,应该就可以解决您的问题。

    
    (base) aaa@ASUS:~/ML/paper/TEXTurePaper$ git commit -m "Initial commit"
    On branch main
    nothing to commit, working tree clean
    
    • 1
    • 2
    • 3
    • 4

    这个消息表示在您尝试进行Git提交(commit)时,Git没有发现任何未提交(uncommitted)的改动。换句话说,您的工作目录是“干净的”,意味着您没有进行任何改变,或者您已经将所有改动添加(staged)并提交(committed)了。

    这里有几种可能的情况:

    没有新文件或改动:如果您刚刚初始化了一个新的Git仓库,或者没有做出任何改变,那么Git自然没有任何内容可以提交。

    改动已经被提交:如果您之前已经添加并提交了所有改动,那么工作目录也会是干净的。

    如何解决
    如果您确实有需要提交的新文件或改动,确保首先使用git add 命令来添加它们。例如:

    git add myfile.txt
    
    
    • 1
    • 2

    或添加所有改动:

    git add .
    
    
    • 1
    • 2

    然后尝试再次提交:

    git commit -m "Your commit message"
    
    
    • 1
    • 2

    如果您不确定是否有任何未添加或未提交的改动,您可以使用以下命令查看:

    git status
    
    
    • 1
    • 2

    这将显示所有未添加(unstaged)或未提交(uncommitted)的改动。

    如果git status显示您的工作树是干净的,但您确信应该有一些改动需要提交,那么您可能在错误的目录或分支中。确保您处于正确的工作目录并且已经切换到了包含您改动的分支。

    1. 使用SSH URL!!!
      我他妈之前一直是使用的HHTPS,我还以为是用的SSH:
    git remote add origin https://git.gxar.com/demo/demo-texture.git我使用的是这个,这个应该是SSH吧
    
    • 1

    实际上,上面使用的URL https://git.gxar.com/demo/demo-texture.git 是一个HTTPS URL,而不是SSH URL。

    HTTPS和SSH是两种不同的协议,用于与远程Git仓库进行通信:

    HTTPS URL 通常看起来像这样: https:////.git。
    SSH URL 通常看起来像这样: git@:/.git。
    如果您想使用SSH,您需要找到SSH形式的Git仓库URL。这通常可以在GitLab仓库的“Clone”或“Clone Repository”部分找到。

    在找到SSH URL后,您可以使用以下命令更改远程仓库的URL:

    git remote set-url origin git@git.gxar.com:demo/demo-texture.git
    
    
    • 1
    • 2

    注意:在使用SSH之前,确保您已生成SSH密钥并添加到GitLab账户,还要确保SSH agent运行并已加载了您的SSH密钥。这些步骤对于SSH身份验证是必要的。

    7.
    在这里插入图片描述
    错误消息error: src refspec main does not match any通常表示尝试推送到远程仓库的分支(在这里是main)在本地仓库中并不存在,或者你没有提交任何内容到这个本地分支。
    然后我看了一下,原来github上初始的化的分支名叫master

    下面是一些解决该问题的常见步骤:

    a. 确认当前分支
    首先,使用git branch查看所有本地分支和当前活动分支(会被标记为绿色和/或前面有一个*符号)。这样你可以确认main分支是否存在。
    在这里插入图片描述
    上面说明main分支不存在,即我的本地仓库使用的是master分支,而我尝试推送到的是main分支,所以出现了不匹配的问题。
    我选择重命名本地分支
    在这里插入图片描述
    如果你执行了上面截图中的重命名分支,那你就不需要执行下面的bcd部分了

    b. 创建并切换到main分支(如果不存在)
    如果你看不到main分支,你可以创建一个新的main分支并切换到该分支:

    git checkout -b main
    
    • 1

    或者,如果main分支已经存在:

    git checkout main
    
    • 1

    c. 添加和提交改动
    确保你已经添加了文件到暂存区,并且已经进行了提交:

    git add .
    git commit -m "Your commit message"
    
    
    • 1
    • 2
    • 3

    d.再次推送
    现在再次尝试推送到远程仓库:

    git push -u origin main
    
    
    • 1
    • 2

    这应该解决你遇到的问题。

    注意: 如果你是在一个全新的、空的仓库中进行操作,确保至少有一个文件(通常是README)已经被添加和提交,否则你可能会再次遇到这个错误。

    在这里插入图片描述
    这个错误表明远程仓库的main分支包含了一些你本地没有的提交。这通常是因为其他人(或者是你在另一个地方)已经推送了一些更改到这个分支。比如你在github上创建仓库的时候你勾选了readme.md文件,但是你的本地也有readme.md文件,那就会出现上述问题

    由于这个仓库只有我一个人使用,我就选择的方法三
    以下是解决这个问题的一些常见方法:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1. 报错
    (ir) xwf@ps:~/ML/LiMu/IR/RDA$ git push -u origin main
    git@github.com: Permission denied (publickey).
    fatal: Could not read from remote repository.
    
    Please make sure you have the correct access rights
    and the repository exists.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    错误消息 “Permission denied (publickey)” 表明你在使用SSH协议进行Git操作时遇到了权限问题。这通常是由于SSH密钥配置问题引起的。以下是解决此问题的步骤:

    1. 检查SSH密钥: 首先,确保你的SSH密钥正确生成并与GitHub关联。你可以使用以下命令检查SSH密钥:

      ls -al ~/.ssh
      
      • 1

      如果没有显示任何文件,或者没有名为id_rsaid_rsa.pub的文件对,表示你的SSH密钥尚未生成。你可以使用以下命令来生成SSH密钥:

    # 注意,如果原来你的 ~/.ssh里面就有用于远程连接的id_rsa,那你再生成和github连接的文件对的时候就要换个名字
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"  # 这个生成的文件对是会使用默认的名字,即id_rsa 和id_rsa.pub
    
    
    # 如果要修改文件对的名字,可以使用
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_new
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    如果你想为新生成的 SSH 密钥对选择不同的文件名,你可以在生成密钥对时使用 -f 选项来指定文件名。以下是如何重命名新生成的 id_rsa 文件的步骤:

    1.打开终端,并使用以下命令来生成新的 SSH 密钥对并指定文件名(例如,new_id_rsa):

       ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/new_id_rsa
    
    • 1

    请确保将 “your_email@example.com” 替换为你的GitHub邮箱地址,并且 -f 选项后跟着新的文件名(包括路径,通常是 ~/.ssh/new_id_rsa)。

    1. 完成生成后,你会在 ~/.ssh 目录中看到 new_id_rsanew_id_rsa.pub 两个文件。
    1. 接下来,你可以将新生成的公钥 new_id_rsa.pub 添加到 GitHub 或其他需要使用 SSH 密钥的地方,并在需要的地方使用新的私钥文件 new_id_rsa

    这样,你就成功地为新生成的 SSH 密钥对选择了不同的文件名,而不会覆盖现有的密钥对。请确保在配置任何需要使用 SSH 密钥的应用程序时指定正确的文件路径。

    确保将 “your_email@example.com” 替换为你的GitHub邮箱地址。生成密钥后,可以运行以下命令来添加SSH密钥到SSH代理中:

    ssh-add ~/.ssh/id_rsa
    
    • 1
    1. 将SSH密钥添加到GitHub: 将你的SSH公钥(~/.ssh/id_rsa.pub)的内容添加到你的GitHub帐户。你可以将公钥复制到剪贴板,然后在GitHub上添加。

    2. 测试SSH连接: 使用以下命令测试SSH连接是否正常工作:

      ssh -T git@github.com
      
      • 1

      如果一切正常,应该会显示一条成功的消息。

    3. 再次尝试推送: 重新运行你的 git push 命令:

      git push -u origin main
      
      • 1

    如果你按照上述步骤操作,但仍然遇到问题,请确保你的SSH密钥与GitHub账户正确匹配,并且没有其他SSH密钥干扰。如果问题仍然存在,你可能需要检查你的SSH配置以查看是否存在其他问题。如果仍然无法解决,请尝试使用HTTPS协议进行Git操作,这将需要输入GitHub用户名和密码,但可以绕过SSH密钥问题。

    1. 报错
    (ir) xwf@ps:~$ ssh-add ~/.ssh/github_id_rsa
    Could not open a connection to your authentication agent.
    
    • 1
    • 2

    根据你提供的信息,看起来你在尝试添加新生成的SSH私钥(github_id_rsa)到SSH代理时遇到了问题,因为SSH代理尚未启动。

    你可以尝试以下步骤来解决问题:

    1. 启动SSH代理: 在终端中运行以下命令,以启动SSH代理:

      eval "$(ssh-agent -s)"
      
      • 1

      这会启动SSH代理并显示代理的进程号。

    2. 添加SSH密钥到代理: 再次运行以下命令,将新生成的SSH私钥 github_id_rsa 添加到SSH代理:

      ssh-add ~/.ssh/github_id_rsa
      
      • 1

      如果一切正常,你将被要求输入SSH私钥的密码(如果你为私钥设置了密码)。如果密码正确,私钥将被添加到代理中。

    3. 测试SSH连接: 最后,可以运行以下命令来测试SSH连接是否正常工作:

      ssh -T git@github.com
      
      • 1

      如果一切正常,应该会显示一条成功的消息。

    通过执行上述步骤,你应该能够成功添加新生成的SSH密钥并测试SSH连接。如果你仍然遇到问题,请确保你的私钥密码输入正确,并检查是否有其他问题导致SSH代理无法启动或添加密钥。

    1. 报错
    (ir) xwf@ps:~$ ssh -T git@github.com
    git@github.com: Permission denied (publickey).
    
    • 1
    • 2

    “Permission denied (publickey)” 错误表明你的SSH密钥仍然无法正常使用来进行GitHub身份验证。要解决这个问题,你可以尝试以下步骤:

    1. 确认SSH代理正在运行: 首先,请确保SSH代理正在运行。运行以下命令来启动SSH代理(如果尚未运行):

      eval "$(ssh-agent -s)"
      
      • 1
    2. 再次添加SSH密钥: 重新运行以下命令,将新生成的SSH私钥 github_id_rsa 添加到SSH代理:

      ssh-add ~/.ssh/github_id_rsa
      
      • 1

      如果你设置了私钥的密码,系统会要求你输入密码。

    3. 检查GitHub帐户配置: 确保你在GitHub帐户中正确配置了SSH密钥。登录到GitHub,进入设置(Settings) > SSH and GPG keys 页面,确保你添加的公钥与你的本地私钥匹配。

    4. 使用SSH URL: 确保你正在使用SSH URL 来克隆或推送GitHub仓库。SSH URL的格式应为 git@github.com:用户名/仓库名.git

    5. 验证Git配置: 使用以下命令检查你的Git全局配置是否正确设置:

      git config --global user.name
      git config --global user.email
      
      • 1
      • 2

      确保这些配置与你的GitHub帐户信息匹配。

    6. 重新尝试SSH连接: 再次运行以下命令来测试SSH连接是否正常工作:

      ssh -T git@github.com
      
      • 1

    如果你按照上述步骤操作仍然遇到问题,可能需要检查你的SSH密钥对是否正确生成,并且没有其他配置或问题导致身份验证失败。如果问题持续存在,请确保你没有使用代理或防火墙阻止SSH连接,并可能需要与GitHub支持或管理员联系以获得更多帮助。

  • 相关阅读:
    uniapp进行表单效验
    Vue双向绑定原理
    vector类的常用接口说明
    揭秘你代理商做不起来货卖不出去的原因,探讨其背后的商业逻辑
    使用 adb 对 Android 声音控制全面适配
    从0开始学go第五天
    中英文说明书丨艾美捷PEG化蛋白ELISA试剂盒
    【目标】给2022下半年的自己定几个计划
    acwing算法基础之基础算法--高精度加法算法
    UE5 c++将自定义UserWdiget添加到对应菜单栏
  • 原文地址:https://blog.csdn.net/weixin_43845922/article/details/132986389