当前位置: 首页 > article >正文

github使用基础

要通过终端绑定GitHub账号并进行文件传输,你需要使用Git和SSH密钥来实现安全连接和操作。以下是一个基本流程:

设置GitHub和SSH

  1. 检查Git安装 通过终端输入以下命令查看是否安装Git:

     

    bash

    复制代码

    git --version
    
  2. 配置Git用户名和邮箱

     

    bash

    复制代码

    git config --global user.name "Your Name"
    git config --global user.email "your_email@example.com"
    
  3. 生成SSH密钥 如果你还没有SSH密钥,需要生成一个。输入以下命令:

     

    bash

    复制代码

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    按照提示,选择默认位置保存密钥,并可以选择设置一个安全密码。

  4. 添加SSH密钥到SSH代理 启动SSH代理并添加私钥:

     

    bash

    复制代码

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
    
  5. 复制SSH公钥 复制生成的SSH公钥,用于添加到GitHub。

     

    bash

    复制代码

    cat ~/.ssh/id_rsa.pub
    

    复制输出的内容(这是你的公钥)。

  6. 将SSH公钥添加到GitHub

    • 登录到GitHub账户。
    • 点击右上角头像进入Settings
    • Access下选择SSH and GPG keys
    • 点击New SSH key,输入标题并粘贴公钥,然后保存。

克隆仓库并传输文件

  1. 克隆GitHub仓库 切换到你要保存代码的目录,然后克隆仓库:

     

    bash

    复制代码

    git clone git@github.com:username/repository.git
    

    确保将usernamerepository替换为你的GitHub用户名和仓库名。

  2. 传输文件到仓库 将你要上传的文件复制到刚刚克隆的仓库目录中。

  3. 上传文件 进入克隆的项目目录,执行以下命令:

     

    bash

    复制代码

    git add .
    git commit -m "Add files"
    git push origin main
    

    如果你的默认分支不是main,请将其替换为正确的分支名称。

完成

现在,你已成功通过终端将文件上传到GitHub仓库。祝你使用顺利!如有问题可以随时问。

如何查看git的用户名和邮箱

@radix-vue

你可以通过以下命令在终端中查看Git的用户名和邮箱:

  1. 查看全局配置的用户名和邮箱

    全局配置适用于你计算机上的所有Git项目。使用以下命令查看:

     

    bash

    复制代码

    git config --global user.name
    git config --global user.email
    

    这些命令会分别输出配置的全局用户名和邮箱。

  2. 查看本地仓库的用户名和邮箱

    有时你可能为特定的Git仓库配置了不同的用户名或邮箱。在仓库目录中输入以下命令查看:

     

    bash

    复制代码

    git config user.name
    git config user.email
    

    这些命令会输出该仓库特定的用户名和邮箱配置。如果没有输出,说明该仓库没有单独配置用户名和邮箱,使用的仍然是全局配置。

通过这些命令,你可以确定当前Git配置的用户名和邮箱。

也就是说,是可以有多个git配置的邮箱和用户名的。

大文件存储

看起来你的项目可能正在使用Git LFS(大文件存储,Large File Storage),这是一种处理和存储大型文件的方法,在Git中进行版本控制时不适用于常规提交。出现你提到的这种情况,可能是因为以下原因:

原因

  1. LFS文件未上传: Git LFS用于存储大文件,所以这些文件会有一个指针记录在Git中,而真正的文件需要通过LFS上传和下载。

  2. 大文件传输: Git LFS使得大文件被分开传输,所以在推送时会看到Uploading LFS objects: 0%...之类的信息。

解决方案

  1. 确保安装和配置Git LFS: 确保你的系统上已经安装了Git LFS并且正确配置:

    • 安装Git LFS
      • 如果你使用Homebrew:brew install git-lfs
      • 如果是其他系统,参考Git LFS安装说明。
    • 初始化Git LFS(在仓库中执行一次):
       

      bash

      复制代码

      git lfs install
      
  2. 验证LFS配置: 确保LFS正确跟踪了你的大文件类型。例如,如果你追踪JPEG文件:

     

    bash

    复制代码

    git lfs track "*.jpg"
    
  3. 推送LFS文件: 在正常的git push后,Git LFS会自动处理大文件的上传。遵循以下步骤:

    • 确保所有LFS对象已经提交:git addgit commit.
    • 使用git push命令进行推送。
  4. 检查网络连接: 大文件传输可能耗时较长,确保有稳定的网络连接。

  5. 了解LFS配额: GitHub对LFS存储有配额限制。如果超过配额,需要增加存储空间或优化LFS的使用。

如果在上传LFS对象时遇到错误或异常,请检查你的Git LFS配置,查看命令行提示的具体错误信息,或者访问GitHub寻找相应的解决方案。

操作步骤

  1. 确保文件准备完毕

    确保所有需要上传的文件都已经准备好,并放在你克隆的仓库目录(blackhorse_headline)中。

  2. 导航到仓库目录

    打开终端并导航到克隆的项目目录:

     

    bash

    复制代码

    cd ~/Desktop/blackhorse_headline
    

    这里假设你把仓库克隆到了桌面上并进入了该目录。

  3. 检查当前状态

    使用以下命令检查当前的Git状态,查看哪些文件被修改或添加:

     

    bash

    复制代码

    git status
    

    这会显示哪些文件已被修改以及哪些文件是新添加的但未被跟踪。

  4. 添加文件到暂存区

    使用git add命令将这些文件添加到Git的暂存区,可以一次性添加所有文件:

     

    bash

    复制代码

    git add .
    

    该命令会将当前目录下的所有更改添加到暂存区。

  5. 提交更改

    提交已暂存的更改并附上有意义的提交信息:

     

    bash

    复制代码

    git commit -m "Add initial project files"
    

    确保提交信息清晰且描述了这次提交的目的。

  6. 推送更改到远程仓库

    使用git push将本地仓库的更改推送到远程GitHub仓库:

     

    bash

    复制代码

    git push origin master
    

    如果你的主分支是main而不是master,请替换相应的分支名称。

注意事项

  • 分支名称:请确认推送的目标分支名称与远程仓库一致,常见分支名为mastermain

  • 身份验证:如果使用HTTPS并被请求输入用户名和密码,确保输入的是GitHub用户名和生成的个人访问令牌(而不是账户密码),因为GitHub已经不支持直接使用账户密码进行Push和Pull。

  • 网络稳定性:推送涉及网络传输,确保网络状态良好,以避免中途中断。

通过这些步骤,你应该能够成功地将项目文件从本地上传到GitHub仓库,并可以在GitHub页面上查看提交详情。

  1. 更改远程URL为SSH

    将远程仓库URL从HTTPS更改为SSH:

     

    bash

    复制代码

    git remote set-url origin git@github.com:lucylin2019/blackhorse_headline.git

http://www.kler.cn/a/385525.html

相关文章:

  • 24/11/13 算法笔记<强化学习> DQN算法
  • 设计模式:工厂方法模式和策略模式
  • Unity3D
  • 基于promtail+loki+grafana搭建日志系统
  • 运行WHTools批量启动游戏房间工具提示要安装.Net Framework3.5解决
  • ODOO学习笔记(3):Odoo和Django的区别是什么?
  • c-正序或逆序输出数位
  • 走进算法大门---双指针问题(一)
  • 7.1、实验一:RIPv1配置
  • 【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(4)
  • 传统POE供电P1摄像头实现
  • 【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
  • NLP论文速读|Describe-then-Reason: 通过视觉理解训练来提升多模态数学的推理
  • MySQL变量详解
  • 【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(1)
  • 如何使用 Docker 部署 Spring Boot JAR 包
  • 一七八、Node.js PM2使用介绍
  • Windows 中 Electron 项目实现运行时权限提升以杀掉特定进程
  • JVM解说
  • 虚拟机linux7.9下安装mysql
  • Docker中创建latex和sphinx文档环境
  • Android ASM 修改 .class 文件
  • Qt的跨平台介绍
  • 【Linux】简易版shell
  • 生产环境中添加多项式特征实现:将逻辑回归应用于非线性关系
  • Linux操作系统:学习进程_了解并掌握进程的状态