『极简』一盘文章让你学会使用Git
我为什么要用Git
常规开发中,我们经常遇到的一个问题就是,当团队协作开始的时候—比如小张和小王都是程序员,他俩开发的是同一个系统,小张负责写A页面,小王负责写B页面,最后,他俩用u盘把代码拷给其中一个人,再合并到一起。
这个操作猛一看,好像也没什么问题。最后也得到了想要的结果,网站开发完了。但是,如果我们想要把公司考评kpi和版本控制加入到小张和小王的工作流中,增加一个审核环节,让每个版本的迭代都可以经过开发—>测试—>发布,就很困难了。<u>因为代码并不在管理员手中,而是在开发者手中。</u>开发者A如果请假了,并且开发者B需要开发者A页面上的部分逻辑,他能做就只有等待,因为他需要等着开发者A用u盘把数据拷贝给他才能继续开发。
于是Git诞生了,他的主要作用是记录开发者的信息,并且提供多种代码提交方式,还可以对版本进行管理,关键时刻,可以回滚代码,防止问题出现。尤其需要强调的,就是多人协作。Git就是为了多人协作开发一套代码而诞生的,他里面的分支机制,让多人开发时互不干涉,你可以轻松的拉取主干上的代码跟自己本地匹配。最后开发完成的时候,再把分支合并入主干,开发简直不要太轻松。
但是,Git只是一个提交方式,他自己是不能运作的,我们还需要一个仓库。就是存放代码的地方,现在我们能接触到仓库平台主要有github,gitee和gitlab。在国内我们主要是用gitee码云,但是他的代码是保存到云端。有部分有实力的公司,选择使用gitlab把代码仓库保存到自己的服务器上,也不失为一种选择。
仓库
使用Git之前,需要我们先选择用哪个仓库,这里我们用gitee为例,因为大部分小型的项目,在云端管理是最方便的。
访问gitee.com,创建码云账号以后,点击右上角的加号,新建一个仓库。
仓库的作用就是储存代码, 每个你项目的开发者都可以访问仓库查看现在的开发进度。这里注意,如果你选择的是公开仓库,非你项目的开发者也能看到你的项目,你的项目也就变成了开源项目。
这里多说一句,其实,编程的本质就是分享,如果每个人都把自己的技术私有化,那么大家都不用进步了,就是因为有了例如Bootstrap,Spring Framework等等这种开源框架,我们的代码世界才会编的如此丰富多彩。
仓库创建完毕以后,你就能看到里面的文件了,如果你是新项目,里面应该只有一个README.md。接下来,我们需要获取这个仓库的地址,就好比你的百度网盘一样,都有一个http路径。
一般情况下,仓库提供两种方式,一种是https,一种是ssh。https下载比较方便,但是需要每次都输入账号和密码。ssh则需要你通过git生成一个密钥,密钥只需要生成一次
好处就是不用输入账号密码了,如果你是项目的开发者,可以直接进行操作。
好的,获取这个地址以后,关闭页面,咱们开始安装Git。
Git安装
在git-scm.com可以下载最新版的git。下载安装以后,在你本地新建一个web文件夹,点击右键。
此时你的右键菜单中已经有了Git GUI here和Git Bash here两个新的选项,点击第二个
会看到这个界面。
我们接下来就要在这里输入Git命令。有些小伙伴,一看到小黑窗就蒙了,因为这个操作没有图形化,只有命令行。
不用担心,龙哥会全程带你操作,并且每一步都会帮你解答你的困惑。
首先输入
git clone "你的项目地址"
你的项目地址就是,仓库最后克隆/下载,里面复制的地址。
注意,这里会出现两种情况,第一种,你使用的是https方式,到这里会让你输入账号密码。你直接输入就可以进入下载环节。第二种,你使用的是SSH方式,你此时需要在本地生成一个密钥。
新手同学建议使用https方式。
如果你使用了SSH也不要慌张。按照一下步骤进行。
先添加全局变量
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱地址"
然后输入
ssh-keygen -t rsa -C "你的邮箱地址"
输入完毕以后,会出现一大堆代码,复制这个到你的仓库SSH管理中即可。
因为每家平台的SSH管理位置都不同,这里就不做解释了,但通常是在个人设置中,稍微找一下就能找到。
当上面这一步完成以后,你已经clone了现故到你的本地。
使用你的开发工具打开这个目录
可以发现里面只有一个文件README.md。这里已经跟云端保持一致了。
接下来我们创建一个html文件。
随便写点东西,我们开始进入提交步骤。
这里要注意一点,就是仓库默认只有一个master分支,分支的概念你可以理解就是最后要发布的代码,但是,我们作为项目的一份子,不可能直接一次就开发完成整个项目了,我们肯定是开发了其中的一个小部分,这个部分需要先经过测试,才能提交到整体中。
所以这里我们先创建一个自己的分支。
输入:
git branch -a
这一步的目的是列出所有分支,可以发现,现在只有一个master分支。
然后输入
git branch test
git checkout test
创建一个新的test分支,然后切换到这个分支上。
再次列出分支列表,可以发现我们已经切换到test上了。
此时,我们就可以开始提交我们本地的代码了。
输入:
git add .
git commit -m "version1.0.0"
git push testgit push --set-upstream origin test
这三句话的意思是,选择项目中的全部文件,添加更新说明,推送到远程分支并绑定。
其实第三句话只需要输入一次,下次你直接输入git push即可。
这里,有一种特殊情况,就是,你跟你的同事,开发的是同一个分支。此时,你需要先执行
git pull
然后再推送你的新代码,否则会报冲突。
好了。更新代码并推送就讲完了。最后咱们再讲一下分支的合并。比如,现在我的页面开发并测试完了,我需要合并到主干上,我应该怎么做呢??
首先切换到master分支
git checkout master
git merge test
这样两个分支就合并完毕啦!
审核分支合并请求
上面的分支合并有一个小小的问题就是,如果你是往master分支上去合并,你需要先确定一下master分支是不是一个受保护的分支,如果是,你需要到仓库中,你自己的提交那块,去发起一个合并申请,
发起申请后编写你的更新信息,如果有冲突,也可以再这里解决冲突的代码
此时,管理员可以看到你这个请求
如果此时管理员点击merge,你的分支就会被合并入master
好了,龙哥已经带你粗略的感受了一遍git的提交发布再到审核管理的流程。不足之处,还请见谅,如果你喜欢龙哥的文章,请点赞关注收藏吧!