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的用户名和邮箱

你可以通过以下命令在终端中查看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`
    
相关推荐
Kkooe3 小时前
GitLab|数据迁移
运维·服务器·git
Beekeeper&&P...4 小时前
git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
开发语言·git·bash
Stara05118 小时前
Git推送+拉去+uwsgi+Nginx服务器部署项目
git·python·mysql·nginx·gitee·github·uwsgi
lsswear9 小时前
GIT 操作
git
勋勋勋勋小勋勋9 小时前
git分支合并某一次提交
git
PandaCave10 小时前
git常用命令以及注意事项总结
git
不能只会打代码13 小时前
大学课程项目中的记忆深刻 Bug —— 一次意外的数组越界
java·github·intellij-idea·话题博客
算你狠 - ZGX14 小时前
Git使用
git
Zhijun.li@Studio16 小时前
Mac下的vscode远程ssh免密码登录
vscode·macos·ssh