git-新手入职必备操作流程
一、背景
之前一直都是在使用svn进行代码版本管理,新公司使用的git,虽说之前在github上使用过几次,但使用场景太过简单,与公司多人,多分支的开发场景相比,就算没有使用过,因此注定要碰壁!虽然git 的使用方法,网上一搜一大推,但是作为新手,最可悲的:所有的使用方法都摆在那里,但是你就不知道,也不敢随便使用!毕竟是在实战。现在总结下来,希望可以帮助到和我一样的新手,不要像我一样因为一个小小的使用工具,信心严重受到打击!这里要感谢公司的同事——志凌,算是我git使用的启蒙指导老师。
本篇文章主要介绍git管理项目的一个简单,基本的使用流程,老手请忽略!但对新手来说应该是进入公司必备的操作流程,还是比较重要的。良好的开端是成功的一半。初次的使用,一定程度上会决定着你对这款工具的印象和深入学习的欲望,也是刚进公司时个人信心提升的关键时刻,假如你能够顺利上手,就能够迅速进入工作状态,但是如果无从下手,那就是能力不强的表现了,后果很可能就是恶性循环。看到这是不是感觉有必要收藏一下,哈哈!
二、git 和svn
两者都是优秀的版本管理工具。
git是分布式:服务器和每个开发人员都拥有一个本地的代码管理仓库,进行本地的代码管理;
svn集中式:只有在服务器上有一个代码管理仓库;
最后一句:我感觉git 比svn好用!,有点规模的公司都在用(我接触过的)!
其它的具体细节,可以自己去谷歌!这里不是我讲的重点。
三、git的使用(以当前所在公司为例讲解)
1、概括
使用git进行项目管理和开发,一般情况下,会在服务端(origin)创建一个仓库进行代码的管理,仓库会维护三大块分支。如下图
master分支:只有一个,作为主分支
dev分支:项目当前版本的开发分支,程序员会基于此分支 来切 本地分支,进行开发。
其它版本的分支:项目每个版本,在开发测试完成后,最终的稳定代码。每当一个版本的开发测试完成后,都会将当前版本的稳定代码合并到master分支。
假如在开发当前版本时,发现dev7.0.0版本线上出现了bug。此时,就可以基于dev7.0.0分支,进行修复,这是维护其它版本分支最大的好处。
2、使用(前提是安装了git软件,并且配置了ssh)
配置ssh的好处就是,本地向服务器push代码时就不用总是填写用户名和密码了!
插一个小曲,本人一直以为AndroidStudio集成了git,就不用下载git了。这是完全错误的!必须下载,因为AndroidStudio集成的。只不过是git的可视化实用工具。请大家原谅我的无知!!嘿嘿。
(1)、拉取代码
提示:安装好git后,定位到存放本地项目代码的很目录下,鼠标右击,点击“git Bash”,即可弹出命令框!!
$ git clone <版本库的网址>
该命令会在本地生成一个目录,与origin的版本库同名,目录下面包含 .git文件(默认是隐藏的),和服务器上master分支的代码(也有可能没有,因为master分支上一般没有权限获取);要注意此时是在master分支上的,可以使用 $ git branch 命令查看! 但是我们是要切dev分支上的代码!
$ git checkout dev
该命令是将本地版本库(local)切换到dev分支(前提 是origin上已存在dev分支),建立local与origin对应分支.此分支可以直接与origin对应分支进行通信。如执行代码的上传(push)和更新(pull)操作. ps(也可以使用 $ git checkout -b dev origin/dev命令代替)
$ git pull
该命令将origin/dev分支上的代码,pull或更新到local/dev 分支上。如果项目有依赖工程,使用$ git clone <版本库的网址>命令下载到本地
$ git checkout – b local
该命令,基于dev分支,创建新分支 local,并切换到 local分支,一定要创建新分支进行开发,决不能基于本地dev分支开发,最后就可以将代码导入开发工具了!此时执行 $ git branch 命令应该可以看到 dev 和local 两个分支。
(2)、代码提交
思考:如何将代码提交到服务器?
分析:如果一切正常,我们目前应该是在基于本地dev分支基础上创建的local分支上,前面已经说过,本地只有dev分支才能与服务器dev分支进行通信,执行代码的pull和push操作。那么我们要做的就是 将 local分支上的代码,提交到本地dev分支上,之后切换到dev分支,执行push命令,就ok了!!
提示:定位到项目的根目录(带.git的文件夹下),鼠标右击,点击“git Bash”,弹出命令框!!
$ git status
此命令可以查看当前分支上有哪些文件改动了,建议首先执行一下,查看改动的文件,避免提交不需要提交的文件。如果想恢复改动的文件,执行 $ git checkout — 文件路径/文件名 。
$git add .
改命令将分支上改动的文件(即工作区改动文件),添加到暂存区
$ git commit -m “修改说明”
将暂存区的文件提交到版本库(我的理解这个版本库在这里应该指的是本地dev分支)
$ git checkout dev
切换到本地dev分支
$ git pull
该命令将origin/dev分支上的代码,更新到local/dev 分支上。
$ git checkout local
该命令切换到本地local分支
$ git rebase dev
该命令将 dev分支上的最新代码,合并到 本地local分支上。此时很可能会遇到文件冲突的问题,需要到冲突所在的文件下手动修改,修改好后,执行 $ git add . 执行 $ git rebase –continue,此时应该可以成功合并。
$ git push origin head:refs/for/dev
此命令将本地local分支上修改的代码提交到服务器上。
四、总结
以上,就是在公司实际开发中,开发人员所必经的一套简单基础完整的git工作流程。当然,这些只是在一切正常的情况下,git的强大之处远不止这些!还有很多复杂的应用场景,我会根据自己实际的工作经验一一讲解。最后,如有错误之处还请批评指正,谢谢!!
一个半路出家自学程序员的经验分享
git-新手入职必备操作流程相关推荐
- 入职必备两小时入门SVN(二)
入职必备两小时入门SVN(二) 1.SVN使用 1.创建版本库 打开SVN服务端(开始菜单) 右击Repository.点击Create Repository,出现下面画面,选择默认就好 2.导入项目 ...
- 入职必备两小时入门SVN(一)
入职必备两小时入门SVN(一) 1.简介 SVN的全称是Subversion,即版本控制系统.它是最流行的一个开放源代码的版本控制系统.作为一个开源的版本控制系统,Subversion管理着随时间改变 ...
- 初级前端程序员就职指南-入职必备配置清单git,vscode...
开发环境的搭建 1. 本篇文章概述: ◇ 新电脑如何配置开发环境 ◇ 新电脑应该安装那些工具 ◇ chrome 的安装以及设置小技巧 ◇ Vscode 相关配置 ◇ Git 相关配置 ◇ Node 和 ...
- Git 基本操作(入职亲体验)
GitHub工具多用在多人协作开发,多团队开发的开发模式中.入职前只是稍有涉略,基本命令尚不熟练,因为没在实际过程中遇到过.尤其是一些突发状况.这边使用GIT较多,操作也较多,中间确实遇到一些问题,才 ...
- IT新手入职的一些注意事项
大家好,作为一名IT人士刚入职的新手,有哪些方面需要注意呢,下面就是我总结的一些心得: 1.踏实做事,只要在自己的能力范围之内,能多做事情,就多去做,给别人留下一个勤奋的好印象是非常重要的: 2.不懂 ...
- git 新入职员工流程
新入职员工工作流程 1.新进公司,先关联公司的代码仓库 git clone 仓库地址我们可以和远程建立链接 将本地仓库和线上仓库建立关联:git remote add origin [线上仓库的SSH ...
- Java开发新手入职第一天
入职第一天,来到公司大门口,门卫不给进,让入职部门派人来领进去.无奈只能打电话,等待一段时间后,终于有个小姐姐来领人了.在小姐姐的带领下来到项目组的工作室,先给安排了电脑,然后安排旁边的小哥哥带一下我 ...
- 【第93期】回复@齐谐,新手入职文案策划的建议
我是酱油,这是第93期文章 后台网友@齐谐留言: 你好,我是今年准备校招的小白.想入文案策划的职位,不知道可爱又迷人的大佬有没有什么建议.比如简历,面试之类的(皱眉表情). 看到这留言后,我的第一反应 ...
- 第5期:大学生入职必备技能之二
大家好,我是老王随聊,今天和大家讨论的话题--大学生入职前需要做哪些准备呢? 通过这段时间和群里同学们交流,发现很多人对于自己的职业目标和方向不是很清楚,简单说,就是迷茫.那大学生可以提前为实现职业目 ...
最新文章
- html页面加空的行,html-插入高度较小的空白表行
- Oracle 服务器 进程中的 LOCAL=NO 和 LOCAL=YES
- 排列和组合、以及数列(五)
- 使用PyQt来编写第一个Python GUI程序
- Windows 系统 重装为Linux 记录
- 祝贺自己的软件《万能数据库查询分析器》在中关村在线下载量超过10万次
- 01 LeNet-5论文笔记-Gradient-Based Learning Applied to Document Recognition
- 微信公众账号api开发
- 取向性完全不同 骐达英朗底盘对比解析
- linux中怎么连接wifi密码,Linux终端中连接WiFi的方法
- 【WAF技巧拓展】————4、web应用防火墙逃逸技术(一)
- 怎么给固定资产安装标签
- 浅谈一下刚学的Java集合
- Python实现飞机大战(搞怪)游戏!这是你没见过的全新版本!
- 【学习率】梯度下降学习率的设定策略
- 装修工程施工质量控制工作方法及措施
- bzoj4521【CQOI2016】手机号码
- Eclipse崩溃后无法启动的问题解决
- 创建工作站vmware workstation时,提示before you can run vmware several modules must be compiled
- 虚幻引擎UE4.25版本使用Android打包出错提示:ERROR: cmd.exe failed with args /c 和 :app:assembleDebug的解决方法