使用Git上传代码到Github
muxinxy Lv1

使用Git上传代码到Github

安装Git

安装

Git官网Windows版本:https://git-scm.com/download/win

[安装Scoop会自动安装Git]

开始菜单打开Git bash​或在文件资源管理器某个文件夹里右键-Git bash here​打开Git命令行,执行git --version​查看Git版本

1
2
git --version
git version 2.42.0.windows.2

代理(可选)

如果无法正常访问Github,可以设置全局代理,以v2rayN的socks5代理为例:

Git bash​输入以下命令代理Github的https访问,更多相关内容参考:https://gist.github.com/laispace/666dd7b27e9116faece6

1
git config --global http.https://github.com.proxy socks5://127.0.0.1:10808

取消全局代理

1
2
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy

配置账户

配置Github用户名和邮箱

打开Git bash,输入git config --global user.name "YOUR_USERNAME"​(引号内替换为Github用户名)设置用户名,输入git config --global user.email "YOUR_EMAIL"​(引号内替换为Github邮箱)

连接Github

创建SSH Key

打开CMD输入以下命令创建SSH Key​,-t​指定加密算法,-C​指定备注,-f​指定公钥和私钥文件存放在C:\Users\YOUR_COMPUTER_USERNAME\.ssh​目录下

1
ssh-keygen -t rsa -C "YOUR_EMAIL" -f ".ssh/github_id_rsa"

输入命令回车三次即可创建完成,进入对应目录,已经生成私钥github_id_rsa和公钥github_id_rsa.pub

配置Github公钥

用记事本打开github_id_rsa.pub并复制里面的所有内容

打开Github网站,进入Setting​-SSH and GPG keys​,点New SSH key​新建SSH key

image

按照下图中步骤填写公钥

image

打开Git bash​,输入ssh -T git@github.com​回车,如果出现Are you sure you want to continue connecting (yes/no)? 则输入yes回车

出现欢迎语*You’ve successfully authenticated, but GitHub does not provide shell access. * 说明连接Github成功

如果出现git@github.com: Permission denied (publickey). 则说明访问拒绝,需要进行下面的步骤

配置SSH

如果访问拒绝,进行此步骤

打开C:\Users\YOUR_COMPUTER_USERNAME\.ssh​目录,用记事本打开config文件(没有后缀名),如果不存在就新建一个,输入以下内容保存

1
2
Host github.com 
IdentityFile ~/.ssh/github_id_rsa

此时打开Git bash​输入ssh -T git@github.com​回车,应该就会出现欢迎语了,连接Github成功

上传代码

新建仓库

在Github网站新建仓库,右上角加号-New repository​,Repository name​输入仓库名称,如test​,点击Create repository​创建仓库

在某个目录下新建文件夹test并打开此文件夹,右键-Git bash here

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建README.md并写入一号标题test
echo "# test" >> README.md
# 初始化仓库,生成.github文件夹存放git相关信息
git init
# 将README.md添加进暂存区,如果想添加所有已修改文件使用"git add ."
git add README.md
# 添加本次修改的备注
git commit -m "first commit"
# 将此分支重命名为main,仅需创建时执行,因为默认分支名称是master,而现在常用main
git branch -M main
# 添加远程仓库地址,别名origin,此处使用SSH连接,需保证之前SSH连接成功
git remote add origin git@github.com:muxinxy/test.git
# 将本地main分支代码上传到远程orgin仓库
git push -u origin main

上述SSH连接的好处是设置一次密钥,以后就不需要身份认证(推荐)

如果使用HTTPS连接(不推荐),添加远程仓库的命令为git remote add origin https://github.com/muxinxy/test.git​,回车后自动弹出GitCredentialManager窗口,选择Sign in with your browser,浏览器登录后在弹窗中输入用户名personal access token(不是密码)

注意:创建personal access token时建议设置为最长有效时间,即一年,Repository access选中”All repositories”,设置Repository permissions中的Commit statuses、Contents、Workflows的权限为”Read and write”,创建成功后保存token,token只显示一次

image

下载仓库

SSH方式(自己仓库推荐此方式):git clone git@github.com:USERNAME/test.git

HTTPS方式(自己仓库不推荐此方式,他人仓库推荐此方式):git clone https://github.com/USERNAME/test.git

别名

Git bash 输入以下命令使用Vim编辑器添加全局别名:

1
git config --global -e

i​进入插入模式,在配置文件中插入以下别名:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[alias]
co = checkout
cob = checkout -b
coo = !git fetch && git checkout
br = branch
brd = branch -d
st = status
aa = add -A .
unstage = reset --soft HEAD^
cm = commit -m
amend = commit --amend -m
fix = commit --fixup
undo = reset HEAD~1
rv = revert
cp = cherry-pick
pu = !git push origin `git branch --show-current`
fush = push -f
mg = merge --no-ff
rb = rebase
rbc = rebase --continue
rba = rebase --abort
rbs = rebase --skip
rom = !git fetch && git rebase -i origin/master --autosquash
save = stash push
pop = stash pop
apply = stash apply
rl = reflog

添加完毕按Esc​退出插入模式,输入:wq​保存并退出

此时可以使用别名替换原来冗长的命令,例如:

1
2
3
4
5
6
7
8
# 查看Git状态
git st
# 添加所有文件到暂存区
git aa
# 填写Commit信息
git cm "Update"
# 提交代码到远程仓库
git pu

其他

查看配置信息

1
2
3
4
5
6
7
8
# 查看系统级别的配置信息
git config --system --list
# 查看全局级别的配置信息
git config --global --list
# 查看仓库级别的配置信息
git config --local --list
# 查看全局配置中某个特定配置项的值,如用户名
git config --global user.name

如果信息过多显示不全,可以按Enter​显示下一行,每按一次多显示一行,按q​退出

查看命令帮助

1
2
3
4
# 查看全部命令帮助
git help -a
# 查看某个命令帮助,如add
git help add

如果信息过多显示不全,可以按Enter​显示下一行,每按一次多显示一行,按q​退出

 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
访客数 访问量