保姆级教程,教你使用Git推送你的项目到Github

Git 是一个开源的分布式版本控制系统,它可以高效地帮你管理项目中的文件,作为一个开发人员,了解并学习 Git 是我们的必修课。

Github 是世界上最大的代码托管中心,可以说 ,不知道 Github 不算一个合格的 Coder。

今天,我就以推送一个本地项目到 Github 为例,带你体验一下 Github 以及 Git 的魅力。

写在最前

在开始本教程之前,首先需要提醒几句话。

  1. 对于新学习 Git 人来说,我一般建议使用命令来操作 Git 仓库,这可以让你更快熟悉 Git 的工作;同样地 ,学好了命令操作便可以在多种不同的系统中无缝切换使用 Git,不用依赖 IDE 以及 GUI 。
  2. 由于国内网络的特性,Github在国内常常都是表示为接近 无法访问,或者速度很慢,所以,希望在阅读此文章之前,您已经了解并能够使用 《科学工具》 浏览外国网站。

1、注册Github账号

既然是个网站,为了管理我们自己的仓库,我们需要一个 Github 账号,你可以点击 这里 Join GitHub 或者百度搜索 Github 官网进入注册页面:

image-20210806114311586

image-20210806114406931

注册的内容就不细说了,按照流程来便是了,最后会有一步验证邮箱,会给你邮箱发送验证信息,将验证的代码填写上去,即注册成功。

image-20210806154857264

最后点击左上角的 Github 图标,回到首页

image-20210806162232044

2、安装Git

Git 是分布式的,每个 Git 仓库在不同的位置都拥有不同的版本。 本地仓库远程仓库 就是两个不同的仓库。

可以把本地仓库和远程仓库类比为分享文件,假设你拥有一套学习视频,你要通过网盘分享给别人,别人可以通过你的网盘链接下载该文件。

其中:

本地拥有的学习视频类似于 Git 的本地仓库,你可以随时更新学习视频的内容,然后将其上传到网盘。

网盘中的视频类似于 Git 的远程仓库,你同样可以通过浏览器,网盘客户端等更新操作网盘中的内容,与本地仓库的区别在于存储的位置不一样而已。

网盘的分享链接就是 Git clone 链接,只要拥有了该链接,任何人都可以 clone该项目。

远程的 Git 仓库由 Github 提供管理,而本地我们需要 Git 程序来管理 Git 仓库。

Git 程序是开源的,意味着你在互联网上很容易就能下载到它,Git的官网就有下载地址:Git - Downloads (git-scm.com)

但是,由于国内网络的特性,官网下载的速度奇慢,犹记得作者第一次下载时那 22kB/s 的龟速,对于无法科学上网的同学,这里我给出几个国内的镜像源地址,以供参考:

  • git-for-windows/git/LatestRelease/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
  • Git for Windows | 华为开源镜像站

记得下载64位且为 .exe 后缀的版本。

下载后,直接运行安装就是了,除了在这里注意修改一下软件的安装位置之外,建议不做任何改动,直接 Next

image-20210806170124937

最后 Finish 完成安装:

image-20210806170236314

3、创建远程仓库

回到 Github 的主页面,点击右上角加号图标,选择 New repository 新建仓库 :
image-20210806170646128

填写必要信息:

image-20210806171739064

点击 Create repository 创建仓库,创建成功自动跳转到该仓库:

image-20210806171840807

4、初始化本地仓库

打开文件管理器,进入你的项目文件夹的根目录,笔者这里的项目根文件夹为 MyProject ,然后在空白处右击鼠标右键,选择 Git Bash Here:

image-20210806172502717

这时会自动弹出一个命令行窗口,这是 Git 自带的命令行程序,和 Git 结合性较好,推荐使用。如果你想其他命令行程序,甚至是 cmd 都可以,只需使用 cd 命令进入这个项目目录即可。

第一步,配置用户信息。上文中提到,Git 是分布式的,一个相同的仓库在不同的人的电脑上可能有不同的版本,Github的远程仓库类似于中央仓库。如果这个仓库是公开的(public),任何人都有可能修改这个仓库的内容。为了知道是谁向仓库产生了修改,必须在本地设置用户信息。

分别输入以下两条命令,设置用户信息:

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

上面的 user.nameuser.email 可以任意,不必和 Github 上注册的相同,因为这只是你在本地的一个代号而已。

第二步,初始化仓库。确定自己已经在命令行进入该项目目录,输入初始化命令,初始化该目录为一个 Git 仓库:

git init

image-20210806174641309

此时,项目根目录会自动生成 .git 隐藏文件夹,存储该仓库的信息,同时代表这个项目目录由 Git管理。

Windows 10 查看隐藏文件的办法:

在文件资源管理器中,选择左上角的 查看,然后在显示的菜单中找到 隐藏的项目 并勾选,此时隐藏的文件就会显示出来。

第三步,添加远程仓库。初始化好本地仓库后,该仓库中所有的文件都会受到 Git 的管理,但是,我们似乎和远程仓库没有任何联系。为了将该仓库推送到远程,我们必须添加远程仓库的位置,让本地仓库能够知道这个仓库应该推送到哪里。

打开我们之前在 Github 上创建的仓库,单击 SSH按钮,然后点击 ssh 链接右方的复制图标复制该链接:

image-20210806181456193

切换回命令行,使用 git remote add 添加该链接:

git remote add 别名 "链接地址"

这个链接地址就代表仓库的位置,别名和链接地址就类似于域名和ip地址的关系,这个别名一般为 origin:

image-20210806181917353

输入命令 git remote -vv 可以看到添加的仓库信息:

image-20210806195930536

这样,本地仓库就拥有了远程仓库的位置,可以在后期推送的时候指定该位置。

5、使用SSH密钥

配置好本地仓库的信息,接下本来应该是推送了。但是,由于我们用的是 SSH 链接,我们还必须配置密钥信息。

第一步,生成密钥对。依然是在Git Bash的命令行,输入生成 SSH 密钥对的命令:

ssh-keygen -C "comment"

comment 的内容为备注,即备注改密钥对的信息,可不写。

接下来会出现几行提示需要要你输入,可以不管,直接回车即可,最终效果如下:

image-20210806192326998

第二步,获取生成的公钥。接下来打开系统的文件管理器,进入用户家目录的 .ssh 文件夹,找到刚才建立的 id_rsa.pub 文件,以文本方式打开,复制其中的内容:

image-20210806192935687

image-20210806193145334

第三步,将公钥配置到 Github。在 Github 网站右上角找到个人头像的位置,点击头像,在弹出的菜单中点击 Settings

image-20210806193742545

在左边的菜单中点击 SSH and GPG Keys:

image-20210806194149098

点击 New SSH Keys,将复制的公钥内容粘贴到 Key 输入框,并给该 SSH Key 定义一个 Title;然后点击下方的 Add SSH key 添加该 Key。

image-20210806194742776

添加时可能需要验证密码,正常输入便是,最后添加成功的结果如下:

image-20210806195528612

OK,SSh密钥到此配置成功,接下来就是推送了。

6、提交推送

第一步,添加文件。切回命令行,要提交,首先得添加要提交的文件,使用 git add 命令添加文件进入 git 管理:

git add .

git add .
提交所有修改的和新建的数据暂存区

git add -u <==> git add –update
提交所有被删除和修改的文件到数据暂存区

git add -A <==>git add –all
提交所有被删除、被替换、被修改和新增的文件到数据暂存区

来自:git add -A /git add -u/git add .的用法_dayewandou的博客-CSDN博客

通常我们都使用 git add .

第二步,查看状态。接下来,我们可以查看文件状态,看看文件是否被添加进了 git 管理:

git status

image-20210806200425969

new file 代表添加到了 git 管理的文件。

第三步,提交文件更改。刚才添加的文件只是到了 git 的暂存区,我们还需要提交添加的文件:

git commit -m "input yours message"

image-20210806200940537

第四步,推送。使用 push 命令 将本地仓库推送到远程仓库(Github)中:

git push -u origin master

origin:这就是上面所说的远程仓库的 “别名”

master:代表要推送的分支名称,默认为 master ,可以在 Git Bash 的路径最右端看到。

image-20210806202153462

如图,可能会出现提示是否继续连接的输入项,输入 yes 即可。

最后,在 Github 主页中,点击右上角头像 》点击 Your Repositories 》点击建立的远程仓库(first-project) 》。可以看到我们刚才推送的内容已经到了仓库中:

image-20210806202534349

(本文完)

参考

git add -A /git add -u/git add .的用法_dayewandou的博客-CSDN博客

Git (git-scm.com)