要通过终端绑定GitHub账号并进行文件传输,你需要使用Git和SSH密钥来实现安全连接和操作。以下是一个基本流程:
设置GitHub和SSH
-
检查Git安装 通过终端输入以下命令查看是否安装Git:
bash
复制代码
git --version
-
配置Git用户名和邮箱
bash
复制代码
git config --global user.name "Your Name" git config --global user.email "your_email@example.com"
-
生成SSH密钥 如果你还没有SSH密钥,需要生成一个。输入以下命令:
bash
复制代码
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示,选择默认位置保存密钥,并可以选择设置一个安全密码。
-
添加SSH密钥到SSH代理 启动SSH代理并添加私钥:
bash
复制代码
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
-
复制SSH公钥 复制生成的SSH公钥,用于添加到GitHub。
bash
复制代码
cat ~/.ssh/id_rsa.pub
复制输出的内容(这是你的公钥)。
-
将SSH公钥添加到GitHub
- 登录到GitHub账户。
- 点击右上角头像进入
Settings
。 - 在
Access
下选择SSH and GPG keys
。 - 点击
New SSH key
,输入标题并粘贴公钥,然后保存。
克隆仓库并传输文件
-
克隆GitHub仓库 切换到你要保存代码的目录,然后克隆仓库:
bash
复制代码
git clone git@github.com:username/repository.git
确保将
username
和repository
替换为你的GitHub用户名和仓库名。 -
传输文件到仓库 将你要上传的文件复制到刚刚克隆的仓库目录中。
-
上传文件 进入克隆的项目目录,执行以下命令:
bash
复制代码
git add . git commit -m "Add files" git push origin main
如果你的默认分支不是
main
,请将其替换为正确的分支名称。
完成
现在,你已成功通过终端将文件上传到GitHub仓库。祝你使用顺利!如有问题可以随时问。
如何查看git的用户名和邮箱
你可以通过以下命令在终端中查看Git的用户名和邮箱:
-
查看全局配置的用户名和邮箱
全局配置适用于你计算机上的所有Git项目。使用以下命令查看:
bash
复制代码
git config --global user.name git config --global user.email
这些命令会分别输出配置的全局用户名和邮箱。
-
查看本地仓库的用户名和邮箱
有时你可能为特定的Git仓库配置了不同的用户名或邮箱。在仓库目录中输入以下命令查看:
bash
复制代码
git config user.name git config user.email
这些命令会输出该仓库特定的用户名和邮箱配置。如果没有输出,说明该仓库没有单独配置用户名和邮箱,使用的仍然是全局配置。
通过这些命令,你可以确定当前Git配置的用户名和邮箱。
也就是说,是可以有多个git配置的邮箱和用户名的。
大文件存储
看起来你的项目可能正在使用Git LFS(大文件存储,Large File Storage),这是一种处理和存储大型文件的方法,在Git中进行版本控制时不适用于常规提交。出现你提到的这种情况,可能是因为以下原因:
原因
-
LFS文件未上传: Git LFS用于存储大文件,所以这些文件会有一个指针记录在Git中,而真正的文件需要通过LFS上传和下载。
-
大文件传输: Git LFS使得大文件被分开传输,所以在推送时会看到
Uploading LFS objects: 0%...
之类的信息。
解决方案
-
确保安装和配置Git LFS: 确保你的系统上已经安装了Git LFS并且正确配置:
- 安装Git LFS:
- 如果你使用Homebrew:
brew install git-lfs
- 如果是其他系统,参考Git LFS安装说明。
- 如果你使用Homebrew:
- 初始化Git LFS(在仓库中执行一次):
bash
复制代码
git lfs install
- 安装Git LFS:
-
验证LFS配置: 确保LFS正确跟踪了你的大文件类型。例如,如果你追踪JPEG文件:
bash
复制代码
git lfs track "*.jpg"
-
推送LFS文件: 在正常的
git push
后,Git LFS会自动处理大文件的上传。遵循以下步骤:- 确保所有LFS对象已经提交:
git add
和git commit
. - 使用
git push
命令进行推送。
- 确保所有LFS对象已经提交:
-
检查网络连接: 大文件传输可能耗时较长,确保有稳定的网络连接。
-
了解LFS配额: GitHub对LFS存储有配额限制。如果超过配额,需要增加存储空间或优化LFS的使用。
如果在上传LFS对象时遇到错误或异常,请检查你的Git LFS配置,查看命令行提示的具体错误信息,或者访问GitHub寻找相应的解决方案。
操作步骤
-
确保文件准备完毕:
确保所有需要上传的文件都已经准备好,并放在你克隆的仓库目录(
blackhorse_headline
)中。 -
导航到仓库目录:
打开终端并导航到克隆的项目目录:
bash
复制代码
cd ~/Desktop/blackhorse_headline
这里假设你把仓库克隆到了桌面上并进入了该目录。
-
检查当前状态:
使用以下命令检查当前的Git状态,查看哪些文件被修改或添加:
bash
复制代码
git status
这会显示哪些文件已被修改以及哪些文件是新添加的但未被跟踪。
-
添加文件到暂存区:
使用
git add
命令将这些文件添加到Git的暂存区,可以一次性添加所有文件:bash
复制代码
git add .
该命令会将当前目录下的所有更改添加到暂存区。
-
提交更改:
提交已暂存的更改并附上有意义的提交信息:
bash
复制代码
git commit -m "Add initial project files"
确保提交信息清晰且描述了这次提交的目的。
-
推送更改到远程仓库:
使用
git push
将本地仓库的更改推送到远程GitHub仓库:bash
复制代码
git push origin master
如果你的主分支是
main
而不是master
,请替换相应的分支名称。
注意事项
-
分支名称:请确认推送的目标分支名称与远程仓库一致,常见分支名为
master
或main
。 -
身份验证:如果使用HTTPS并被请求输入用户名和密码,确保输入的是GitHub用户名和生成的个人访问令牌(而不是账户密码),因为GitHub已经不支持直接使用账户密码进行Push和Pull。
-
网络稳定性:推送涉及网络传输,确保网络状态良好,以避免中途中断。
通过这些步骤,你应该能够成功地将项目文件从本地上传到GitHub仓库,并可以在GitHub页面上查看提交详情。
-
更改远程URL为SSH:
将远程仓库URL从HTTPS更改为SSH:
bash
复制代码
git remote set-url origin git@github.com:lucylin2019/blackhorse_headline.git