树莓派使用Git上传代码到Github

树莓派使用 SSH 将项目上传到 GitHub 的完整步骤

步骤 1:安装 Git

首先,在树莓派上确保 Git 已经安装。如果没有安装,可以使用以下命令安装 Git:

sudo apt update
sudo apt install git

步骤 2:配置 Git 用户信息

配置 Git 用户名和电子邮件,这些信息会关联到你的每次提交。

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

步骤 3:生成 SSH 密钥

使用以下命令生成 SSH 密钥,这将允许你通过 SSH 进行身份验证而无需输入密码:

ssh-keygen -t rsa -b 4096 -C "youremail@example.com"
 ssh-keygen -t rsa -b 4096 -C "youremail@example.com" -f /home/admin/.ssh/id_rsa
  • 提示 1:当系统询问 Enter file in which to save the key (/home/youruser/.ssh/id_rsa): 时,按 Enter 使用默认路径。
  • 提示 2:当系统询问 Enter passphrase (empty for no passphrase): 时,你可以选择设置密码或直接按 Enter 留空。

步骤 4:查看并复制 SSH 公钥

生成密钥后,使用以下命令查看并复制 SSH 公钥:

cat ~/.ssh/id_rsa.pub

复制输出的公钥内容。

步骤 5:将 SSH 公钥添加到 GitHub

  1. 登录 GitHub
  2. 点击右上角头像,进入 Settings
  3. 在左侧选择 SSH and GPG keys,然后点击 New SSH key
  4. 将复制的公钥粘贴到文本框中,并点击 Add SSH key

步骤 6:测试 SSH 连接

使用以下命令测试 SSH 连接:

ssh -T git@github.com
  • 成功连接:如果 SSH 配置成功,你会看到类似如下的消息:

    Hi yourusername! You've successfully authenticated, but GitHub does not provide shell access.
    

步骤 7:初始化 Git 仓库

  1. 在树莓派上导航到你想上传到 GitHub 的项目目录:

    cd ~/Desktop/your_project_directory
    
  2. 初始化 Git 仓库:

    git init
    

步骤 8:添加远程仓库

将本地 Git 仓库与 GitHub 仓库通过 SSH 进行关联:

git remote add origin git@github.com:yourusername/your-repo.git
  • yourusername 替换为你的 GitHub 用户名,your-repo 替换为你的仓库名称。

步骤 9:添加文件并提交

  1. 将项目中的文件添加到 Git 仓库:

    git add .
    
  2. 提交文件到本地 Git 仓库:

    git commit -m "Initial commit"
    

步骤 10:推送到 GitHub

使用 SSH 将代码推送到 GitHub:

git push -u origin master

常见问题和解决方法

问题 1:could not lock config file .git/config: Permission denied

  • 原因:权限不足,无法修改 .git/config 文件。这通常是因为你之前以 root 用户初始化了 Git 仓库,现在使用普通用户进行操作时权限不足。
  • 解决方法:使用 sudo 提权执行命令,或者更改仓库目录的所有权。
解决方法 A:使用 sudo 提权
sudo git remote set-url origin git@github.com:yourusername/your-repo.git
解决方法 B:修改目录所有权

如果你不想每次都使用 sudo,可以更改 .git 目录的所有权:

sudo chown -R youruser:youruser /home/admin/Desktop/.git

youruser 替换为当前用户的用户名。


问题 2:The authenticity of host 'github.com' can't be established

  • 原因:这是因为 SSH 首次连接到 GitHub 服务器,系统需要你确认服务器的身份。
  • 解决方法:输入 yes 并继续连接。
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

成功连接后,GitHub 的主机密钥会被存储在 ~/.ssh/known_hosts 文件中,以后不会再提示。


问题 3:Support for password authentication was removed

  • 原因:GitHub 已经移除了通过用户名和密码进行 HTTPS 认证的支持。
  • 解决方法:必须使用 SSH 或个人访问令牌(PAT)来进行认证。如果已经使用 SSH,则不受此限制;否则,可以生成个人访问令牌。
解决方法 A:使用 SSH(推荐)

按照上述步骤生成并配置 SSH 密钥。

解决方法 B:使用个人访问令牌
  1. 登录 GitHub,进入 Settings -> Developer settings -> Personal access tokens
  2. 生成一个新的访问令牌,并授予必要的权限(例如 repo 权限)。
  3. 在 Git 推送时,将访问令牌作为密码使用。

总结

  1. 安装 Git 并配置:确保 Git 已经安装并配置好用户信息。
  2. 生成 SSH 密钥:生成 SSH 密钥并将公钥添加到 GitHub 以便进行无密码推送。
  3. 初始化仓库并推送:通过 Git 初始化仓库,关联远程仓库并推送代码到 GitHub。
  4. 解决问题:根据常见问题的解决方法应对可能遇到的权限、认证和网络连接问题。

通过这个完整的指南和问题解决方法,你应该能够在树莓派上顺利使用 Git 通过 SSH 将代码推送到 GitHub。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值