Git 是一个开源的分布式版本控制系统,它可以高效地帮你管理项目中的文件,作为一个开发人员,了解并学习 Git 是我们的必修课。
Github 是世界上最大的代码托管中心,可以说 ,不知道 Github 就根本不算一个合格的 Coder。
今天,我就以推送一个本地项目到 Github 为例,带你体验一下 Github 以及 Git 的魅力。
写在最前
在开始本教程之前,首先需要提醒几句话。
- 对于新学习 Git 人来说,我一般建议使用命令来操作 Git 仓库,这可以让你更快熟悉 Git 的工作;同样地 ,学好了命令操作便可以在多种不同的系统中无缝切换使用 Git,不用依赖 IDE 以及 GUI 。
- 由于国内网络的特性,Github在国内常常都是表示为接近 无法访问,或者速度很慢,所以,希望在阅读此文章之前,您已经了解并能够使用 《科学工具》 浏览外国网站。
1、注册Github账号
既然是个网站,为了管理我们自己的仓库,我们需要一个 Github 账号,你可以点击 这里 Join GitHub 或者百度搜索 Github 官网进入注册页面:
注册的内容就不细说了,按照流程来便是了,最后会有一步验证邮箱,会给你邮箱发送验证信息,将验证的代码填写上去,即注册成功。
最后点击左上角的 Github 图标,回到首页
2、安装Git
Git 是分布式的,每个 Git 仓库在不同的位置都拥有不同的版本。 本地仓库 和 远程仓库 就是两个不同的仓库。
可以把本地仓库和远程仓库类比为分享文件,假设你拥有一套学习视频,你要通过网盘分享给别人,别人可以通过你的网盘链接下载该文件。
其中:
本地拥有的学习视频类似于 Git 的本地仓库,你可以随时更新学习视频的内容,然后将其上传到网盘。
网盘中的视频类似于 Git 的远程仓库,你同样可以通过浏览器,网盘客户端等更新操作网盘中的内容,与本地仓库的区别在于存储的位置不一样而已。
网盘的分享链接就是 Git clone
链接,只要拥有了该链接,任何人都可以 clone
该项目。
远程的 Git 仓库由 Github 提供管理,而本地我们需要 Git 程序来管理 Git 仓库。
Git 程序是开源的,意味着你在互联网上很容易就能下载到它,Git的官网就有下载地址:Git - Downloads (git-scm.com)。
但是,由于国内网络的特性,官网下载的速度奇慢,犹记得作者第一次下载时那 22kB/s
的龟速,对于无法科学上网的同学,这里我给出几个国内的镜像源地址,以供参考:
记得下载64位且为 .exe
后缀的版本。
下载后,直接运行安装就是了,除了在这里注意修改一下软件的安装位置之外,建议不做任何改动,直接 Next
:
最后 Finish
完成安装:
3、创建远程仓库
回到 Github 的主页面,点击右上角加号图标,选择 New repository 新建仓库 :
填写必要信息:
点击 Create repository 创建仓库,创建成功自动跳转到该仓库:
4、初始化本地仓库
打开文件管理器,进入你的项目文件夹的根目录,笔者这里的项目根文件夹为 MyProject ,然后在空白处右击鼠标右键,选择 Git Bash Here:
这时会自动弹出一个命令行窗口,这是 Git 自带的命令行程序,和 Git 结合性较好,推荐使用。如果你想其他命令行程序,甚至是 cmd 都可以,只需使用 cd 命令进入这个项目目录即可。
第一步,配置用户信息。上文中提到,Git 是分布式的,一个相同的仓库在不同的人的电脑上可能有不同的版本,Github的远程仓库类似于中央仓库。如果这个仓库是公开的(public
),任何人都有可能修改这个仓库的内容。为了知道是谁向仓库产生了修改,必须在本地设置用户信息。
分别输入以下两条命令,设置用户信息:
git config user.name "your name" --global
git config user.email "your email" --global
上面的 user.name
,user.email
可以任意,不必和 Github 上注册的相同,因为这只是你在本地的一个代号而已。
第二步,初始化仓库。确定自己已经在命令行进入该项目目录,输入初始化命令,初始化该目录为一个 Git 仓库:
git init
此时,项目根目录会自动生成 .git
隐藏文件夹,存储该仓库的信息,同时代表这个项目目录由 Git
管理。
Windows 10 查看隐藏文件的办法:
在文件资源管理器中,选择左上角的 查看,然后在显示的菜单中找到 隐藏的项目 并勾选,此时隐藏的文件就会显示出来。
第三步,添加远程仓库。初始化好本地仓库后,该仓库中所有的文件都会受到 Git 的管理,但是,我们似乎和远程仓库没有任何联系。为了将该仓库推送到远程,我们必须添加远程仓库的位置,让本地仓库能够知道这个仓库应该推送到哪里。
打开我们之前在 Github 上创建的仓库,单击 SSH按钮,然后点击 ssh 链接右方的复制图标复制该链接:
切换回命令行,使用 git remote add
添加该链接:
git remote add 别名 "链接地址"
这个链接地址就代表仓库的位置,别名和链接地址就类似于域名和ip地址的关系,这个别名一般为 origin:
输入命令 git remote -vv
可以看到添加的仓库信息:
这样,本地仓库就拥有了远程仓库的位置,可以在后期推送的时候指定该位置。
5、使用SSH密钥
配置好本地仓库的信息,接下本来应该是推送了。但是,由于我们用的是 SSH 链接,我们还必须配置密钥信息。
第一步,生成密钥对。依然是在Git Bash的命令行,输入生成 SSH 密钥对的命令:
ssh-keygen -C "comment"
comment 的内容为备注,即备注改密钥对的信息,可不写。
接下来会出现几行提示需要要你输入,可以不管,直接回车即可,最终效果如下:
第二步,获取生成的公钥。接下来打开系统的文件管理器,进入用户家目录的 .ssh
文件夹,找到刚才建立的 id_rsa.pub
文件,以文本方式打开,复制其中的内容:
第三步,将公钥配置到 Github。在 Github 网站右上角找到个人头像的位置,点击头像,在弹出的菜单中点击 Settings
在左边的菜单中点击 SSH and GPG Keys:
点击 New SSH Keys,将复制的公钥内容粘贴到 Key 输入框,并给该 SSH Key 定义一个 Title;然后点击下方的 Add SSH key 添加该 Key。
添加时可能需要验证密码,正常输入便是,最后添加成功的结果如下:
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
new file
代表添加到了 git 管理的文件。
第三步,提交文件更改。刚才添加的文件只是到了 git 的暂存区,我们还需要提交添加的文件:
git commit -m "input yours message"
第四步,推送。使用 push
命令 将本地仓库推送到远程仓库(Github)中:
git push -u origin master
origin:这就是上面所说的远程仓库的 “别名”
master:代表要推送的分支名称,默认为 master ,可以在 Git Bash 的路径最右端看到。
如图,可能会出现提示是否继续连接的输入项,输入 yes 即可。
最后,在 Github 主页中,点击右上角头像 》点击 Your Repositories 》点击建立的远程仓库(first-project) 》。可以看到我们刚才推送的内容已经到了仓库中:
(本文完)