如何将本地代码上传到GitHub
文章目录
1. 安装和配置Git
在官网下载最新版本的Git并安装
安装完成后打开Git bash
输入以下代码进行配置,配置好的姓名和邮箱将会用于确认代码提交者的身份。
$ git config --global user.name "你的名字"
$ git config --global user.email "你的邮箱"
2. 通过SSH连接GitHub
(没有账号的同学先注册)
SSH是一种网络协议,让我们通过不安全的网络对另一台计算机进行安全的访问。也可以通过HTTPS来连接,这里我们选择使用SSH。
查看是否有SSH keys
-
打开Git Bash
-
输入
ls -al ~/.ssh
查看是否存在SSH keys
-
检查目录中是否存在公众SSH密钥,文件名一般为如下所示:
- id_rsa.pub
- id_ecdsa.pub
- id_ed25519.pub
创建SSH KEY
检查过是否存在SSH keys之后,你可以生成一个新的SSH密钥来进行验证,然后将其加入ssh代理
- 输入下列代码生成新密钥,可在文件夹中找到id_ed25519.pub的文件
$ ssh-keygen -t ed25519 -C "你的邮箱"
将SSH key加入ssh代理
- 输入以下代码
$ eval "$(ssh-agent -s)"
- 将你的私有SSH密钥添加到ssh代理
$ ssh-add ~/.ssh/id_ed25519
将SSH密钥添加到GitHub账号中
在将新的SSH密钥添加到你的GitHub账号后,你将能够使用SSH重新配置任何本地仓库。
- 复制公众SSH密钥到粘贴板
$ clip < ~/.ssh/id_ed25519.pub
- 打开GitHub设置面板
-
点击SSH and GPG keys
-
点击新建SSH密钥
-
Title可以随便输,最好输入一些描述性的标签,我输入的是“Personal Xiaoxin13 Pro”
-
将密钥粘贴到“Key”栏里
-
点击添加SSH key
-
需要验证密码
至此SSH添加成功,下面即可使用Git从本地将代码推送到GitHub上托管
测试你的SSH连接
-
打开Git Bash
-
输入
$ ssh -T git@github.com #尝试通过SSH连接GitHub
输入密码后显示成功认证即连接成功。
自动加载ssh代理
当你打开Git bash或者Git Shell时可以自动运行ssh代理,复制下列代码到你的~/.profile
或者~/ .bashrc
文件中(~
通常指你的C:\Users\<你的用户名>
文件夹,输入echo ~
即可查看)
如果文件不存在需要自己创建,详细步骤见这篇回答Git for Windows: .bashrc or equivalent configuration files for Git Bash shell
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
3. 上传代码
在上面的步骤中我们已经成功地将GitHub与本地通过SSH连接起来,接下来需要做的就是将代码上传。
初始化本地仓库
-
进入写好的代码文件夹
-
在该文件夹建立本地仓库
$ git init
该命令将现有的文件夹转换成一个新的本地Git仓库。
$ git add .
将文件夹内所有文件的修改添加暂存区中暂存
$ git commit -m "第一次上传"
提交更改,把暂存区的所有内容提交到当前分支,也就是master
GitHub建立远程仓库
我已经建立好了。
将本地仓库推送到远程仓库
先添加
$ git remote add origin [url]
再推送
$ git push -u origin master
刷新页面,上传成功!
参考文章:
Git教程(完整)
如何将本地仓库推送到github上
Git official documentation
GitHub ofiicial documentation