git入门姿势
来源:互联网 发布:flash 软件自学网 编辑:程序博客网 时间:2024/05/08 10:35
在《手把手从零打造企业级电商平台-前端实战》课程里用到了git,很多还没参加过公司项目开发的同学就会很疑惑,git是什么?git好吃么?这货是不是我们斗图的图片?哦!不对!那是gif!那TM git到底是什么?!
我们可以把git理解成我们管理代码的工具,把代码找个远程服务器备份一下,当我们电脑死翘翘的时候,就不用害怕代码丢了。当然把git理解成代码备份工具是委屈它了,git更厉害的功能是版本管理,他可以把每个版本都存起来,这样就能方便找到各个历史版本。再加上它对版本的一些设计,比如分支开发,分支合并和分支回滚等操作,能方便的让多人参与同一个项目的开发,更符合现在团队作战的开发方式。
git从表面看起来并不是一个很难用的东西,但要知道git的设计和原理还是有不少内容的,出本书的话怎么也能讲上几百页吧。但是我们如果单纯的把git当工具来使用的话,并不是很难入门。我们这篇文章的目的也是让大家尽快了解git,早点上手,而原理性的东西用熟了以后再看会更容易理解。我们下来找几个最常遇到的场景来说一下git的用法。
场景1:我要开始一个新项目,想用git管理代码这里以git.oschina.net为例(oschina可以免费创建私有项目,github创建私有得花钱)。
第一步,我们需要先注册个git帐号,这里就不说了。这个oschina提供的git服务其实就是给我们一个空间,我们的代码可以传上去由oschina保管。
第二步,新建项目,填上项目名称,git地址等信息以后,就可以新建一个项目了。
第三步,填加ssh的key,添加key的作用是允许你的电脑访问git仓库。如果git项目是私有的,那么就要指定谁可以访问谁不能访问。我们把自己计算机上的ssh key添加到git项目上,就表示我们电脑里的key能访问了,可以理解成key的白名单。配置方法如下:
# 邮箱地址填注册git时用的邮箱,然后按3个回车。ssh-keygen -t rsa -C "xxx@happymmall.com"# 在git.oschina的项目里添加公钥,查看公钥内容:cat ~/.ssh/id_rsa.pub
第四步,配置本地的git选项,可以在用户目录下,用户目录下,用户目录下!新建一个.gitconfig文件,把下面的内容放里面。其中的name是在提交代码时使用的名称,可以随意指定,还有一个是email,这个email一定要和注册git时使用同一个。
[user] name = Rosen email = xxx@happymmall.com[alias] co=checkout ci=commit st=status pl=pull ps=push dt=difftool l=log—stat cp=cherry-pick ca=commit -am b=branch[push] default = simple
这个配置文件中的alias是一些命令的快捷键,比如切换分支是git checkout xxx,如果配置了alias,就可以直接输入git co xxx,这两个命令是等价的。
push一项配置成simple,表示是在push的时候只把当前分支推送到远程对应的分支上。这个也可以不配置,因为git2.x版本以后,默认的就是simple模式。
第五步,从远程拉下代码,这git项目就算建好了。
# 使用项目的ssh形式的地址git clone xxx
场景2:我要开始开发了,要怎么玩?进入开发前,要先了解git的分支使用规范。当我们项目clone下来以后,默认会处在master分支上,也就是git的默认分支。通常我们是不在这个分支上做开发的,如果更规范一点,master分支会对开发人员设置成只读的,最终由上线人员把要上线的代码合并到master分支上。这时候我们就要做一个自己的开发分支。执行如下:
# 切换到master分支git checkout master# 拉取最新代码git pull# 以master分支为基础,新建本地分支,新分支名以mmall_v1.0为例git checkout -b mmall_v1.0 # 在远程建立对应的分支,只有新建分支时需要执行这步,以后只需要git pushgit push --set-upstream origin mmall_v1.0
然后就可以在新分支上开始写代码。
场景3:我要在一个已有的分支上开发点东西因为是已有分支,就不用自己新建了,直接切换到指定分支,这里还是以mmall_v1.0为例。
# 切换分支git checkout mmall_v1.0# 拉取当前分支最新代码git pull
然后还是一样的,就可以进入开发了。
场景4:开发到一定程度,想看看改动了什么内容# 看文件的改动git status# 看文件内容的变动git diff
场景5:代码开发完成了,想提交代码# 首先是追踪变更的文件git add .# 然后提交到本地git commit -am '我是提交的说明'# 提交到远程git push
场景6:当前分支代码都开发完了,准备提交上线在上线的时候,一般是由管理员或发布人员把开发分支的代码合并到master分支上,上线前我们要先把远程master最新的代码合并到我们的分支上再提交,才能保证我们的开发分支版本高于master分支。如果不这么干,有多个人开发的话,就有可能造成A发布了一个版本,等B发布的时候会把A发布的内容冲掉。
# 合并远程分支git merge origin master# 注意:如果发现merge的结果里有CONFLICT,就表示当前分支和远程master分支有文件冲突,我们要手动解决一下冲突再做一次提交才可以。# 没冲突或解决完冲突后,提交到当前分支的远程git push
merge完成后,就可以做提交了,通常使用pull request提交合并到master分支的请求,管理员合并后,我们的分支内容就可以上线了。
最后,推荐一个比较全面的git教程文章:git教程
作者: Rosen_Gao
链接:http://www.imooc.com/article/19060
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
- git入门姿势
- git入门,先学会这几个姿势!
- 小姿势--Git
- React Native 入门姿势
- git 的正确使用姿势
- Git Commit的正确姿势
- 树链剖分正确的入门姿势
- 使用git rebase的正确姿势
- Git远程操作的正确姿势
- Git远程操作的正确姿势
- 姿势
- 入门TrafficServer插件开发的正确姿势
- springMVC + Mybatis + Druid + dubbo(maven)入门姿势
- CDQ分治正确的入门姿势
- GIT 入门
- Git入门
- git入门
- Git 入门
- React子组件向父组件传值
- flask WTForms
- Hbase 热点问题3种解决方案
- Contest1058
- Hex转换为S19文件
- git入门姿势
- 23种设计模式全解析
- 模拟一串数字更新的效果
- C++构造函数与析构函数(三)
- 为什么买500GB的硬盘但是格式化后只有460GB左右的容量
- 身份证号码之js验证
- 十二月份送书活动
- hadoop 数据存储格式
- 阔别市场已久的北冰洋汽水,重回巅峰谈何容易