从零开始学习 Git
Git 最初是 Linux 的创始者 Linus 为了应对 Linux 日益增大的版本管理需求,花了两个周开发出来的。相对于 SVN 集中式的版本管理而言,Git 的优点从使用角度来考虑,可以理解为 SVN 为两层的,而 Git 为 3 层的,除了远程可以进行版本管理之外,在本机也可以进行版本管理,切换管理分支也更快速方便。
安装 Git
安装完成之后,需要做一下全局配置,标示一下你的身份。
操作本地仓库
因为本人使用 Windows 作为生产环境,所以,所有的代码操作包括路径均为 Windows 平台。假设我们的代码目录为 E:/super-render。
创建本地仓库
首先进入到本地目录的代码目录,并在其下打开命令行窗口,执行下面的命令
这样就相当于在本地创建了一个 git 的版本仓库,仓库的信息都会存储在一个名为.git 的隐藏文件夹当中
添加文件
git add 文件路径 --添加某个文件到暂存区
git add . 把工作区内修改和新增的文件添加到暂存区
git add -u 仅把修改的文件内容添加到暂存区
git add -A 把工作区内所有的变化都添加到暂存区,包括新增、修改以及删除
git commit 将暂存区的内容提交到本地仓库
分支操作
灵活快速的分支操作绝对是 Git 最迷人的地方之一。
操作远程库
因为 github.com 在国内速度不好,所以,我们就拿国内 gitee.com 平台来做为 git 的远程版本管理平台为例来进行说明。
创建远程仓库
创建密钥
密钥的生成命令,在 win10 的 PowerShell 中已经集成了,所以不需要则额外安装,如果是其他版本的话,可以自行安装 openSSH。打开 PowerShell,输入下面的命令, 其中-C 后面跟的是你在 git 安装后配置的本机的标识,而-f 后面跟的是你生成 的密钥文件的文件名,如果不跟-f 这个参数,则会默认生成一个 id_rsa 为文件名称的两个文件,该文件会存放在 C:/user/用户名/.ssh 目录下面。
密钥创建完成后需要将公钥信息(即生成的 pub 文件中的内容)上传到 GitHub 或者 Gitee 等远程仓库平台,作为将来与其通信时的凭据的。
拉取代码
在执行完上面的命令之后,你发现会有提示告诉你在你本机还没有这个网站的相关信息,是否继续完成创建,输入 yes 之后回车,现有又出现了一个新的错误!
先抛开错误,我们可以看到在.ssh 目录下面,出现了一个新的文件 known_hosts,在这个文件中添加了 gitee 网站的域名,以及 IP,以及其它一些信息。OK,接下来,我们再来看刚才报出的错误,我把其贴到了下面:
从错误信息来看,我们的提交被拒绝了,因为公私钥的信息无法匹配起来。我们的公钥信息明明已经提交到 gitee 网站了啊,那我们在提交时,使用的私钥信息是哪个呢?这么一想,我们就知道了,在提交时,git 也不知道应该使用什么私钥来提交这个请求。经过一翻资料查找,我发现,还有一个很重要的文件:位于.ssh 目录下面的 config。这个文件决定了在与远程的代码仓库交互时,使用哪个私钥来进行。下面我把其中的内容列出来,挨个解释一下。
一翻折腾之后,再重新执行一下 pull 命令即可。如果本地仓库中已经有了内容,在拉取时,带上下面的参数。
提交代码
向远程库的 master 分支提交代码 ,注意 push 的代码只是在本地仓库已经 commit 到本地版本库的内容。
合并分支
这部分的操作,需要在网站上来实现,后面补图。
Bug 提交与解决
版权声明: 本文为 InfoQ 作者【ITCamel】的原创文章。
原文链接:【http://xie.infoq.cn/article/9ba651c272e443323289fd17d】。文章转载请联系作者。
评论