前言
前两篇文章我讲到面试和入职的一个情况,今天我来讲下刚进公司时对于Git的使用,希望大家能够有所收获。(关于如何下载和安装Git大家可以去搜索一下,很多大佬都讲的很详细的)
什么是Git?
Git是分布式版本控制系统,说白了就是管理我们的代码的。那么它可以没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
两个比较核心的概念: 本地仓库 就是你自己电脑上储存版本信息的地方。 远程仓库 远程服务器上储存版本信息的地方,我们一般叫仓库,比如github、gitlab、svn的远程仓库。
Git的工作流程
 我们在公司中一般都常用的操作类型就是一下的几种:
-
Clone:克隆,就是将远程仓库复制到本地 -
Push:推送,就是将本地仓库代码上传到远程仓库 -
Pull:拉取,就是将远程仓库代码下载到本地仓库
一般的操作步骤:
1.创建本地版本库
2.编写代码
3.代码提交到暂存区
4.从暂存区提交(commit)到本地仓库
5.修改完成后,需要和团队成员共享代码时,将代码推送(push)到远程仓库
6.如果更新服务器上的新代码,将代码拉(pull)下来
如果你还不太清楚他的一个结构流程的话,建议先去学习下他的一些基础
刚到公司的一个操作流程
一般刚进公司,组长或者经理会给你一个地址叫你拉代码下来看,没有经常使用git的小伙伴就懵了啊,这是啥意思啊,又不敢去问,怕被说你不是工作过吗这个都不知道?? 不要慌,我们慢慢的来看下他的一个使用流程,其实也并没有想象中的那么复杂。这里我们以gitlab为例。
- 第一步,我们得有个gitlab的账号,我这边是使用的githab登录的,因为这个gitlab注册好像挺麻烦的,我直接使用githua登录了,githua注册比较简单,大家可以直接去注册下。

我们添加一个实体类,模仿修改了代码,然后经行提交 每次推送代码的时候,update一下,更新远程仓库的代码,避免冲突  将代码提交到本地仓库  编辑提交的信息

将代码推送到远程仓库 
提交到主分支master  打开我们的gitlab显示推送成功,这样就将我们的代码推送到了git仓库了。 
关于分支
很多像伙伴应该注意到了,我这里并没有使用分支来进行管理,其实真实的项目中我们开发肯定不止一个master分支的。一般我们的组长或者经理都会开一些分支让我们进行代码的编写。那我们是怎么利用分支进行代码的编写和提交呢?不要慌,接下来我们来看下分支的使用。
首先我们先创建一个分支  我创建了2个分支,我们来进行一个分支的切换   我们分别切换1号分支和2号分支进行内容的修改,然后提交

 然后我们再切换到master主分支,进行分支的合并  这时候我们将分支1和分支2合并到了master分支,然后进行提交到git   上面显示推送成功,我们去gitlab看一下是否有变化,可以看到gitlab上也同步我们修改的代码了。  接下来我们使用IDEA模拟一个程序员对一个分支进行开发,我们前面已经将代码拉取下来了,所以我们只需要update一下,更新修改的内容。
 点击右下角的分支管理,这时候我们发现项目多了两个分支  假如此时我们分配到的是在分支1上面开发,我们checkout到分支1

 我们添加一个学生类,模拟修改代码,进行提交。可以看到我们提交到了分支1上面,而不是master分支。  去gitlab上查看是否成功提交  同步骤切换分支2提交代码  
接下来模拟我们代码开发完了我们进行分支的合并  最后我们成功的将代码合并到master分支上面,当然这个一般是组长做的事,我们实际开发只需要拉取分支进行开发,完事将代码推送到git就行了,并不需要你去合并分支。
总结
我对git的操作并不是很熟练,以后还需要多练习,文章哪里讲得有问题的话,希望大家指出来,我加以修正。最后希望和大家共同进步。
|