初级JAVA程序员应该掌握的GIT知识(通俗易懂+实用)

前言

首先,假设你是一个刚入职的git小白,这可能是帮助你最快在公司上手git的资料了。
其次,本文非常的简单,不够深入,但足够适用小公司基于主分支(一般称为master分支)的工作场景,如果是大公司可能使用的是GitFlow工作流。
接着,如何学git呢,其实git的命令很多,我们在掌握了最常用的命令(本文提到的)之后,遇到问题百度就行了,不断遇到问题,加深记忆。
最后,本系列(初级JAVA程序员进阶)会一直做下去,欢迎到github上访问本系列。

初级JAVA程序员系列

项目地址,欢迎STAR

基本原理

我们先讲下多人协作的一个场景吧,这里假设你用过石墨文档,我们把视线聚焦于石墨文档的一个共享文件,首先,我们每个人可以对文件里面的表格的内容进行编辑,通常我们先想好要编辑的内容,想清楚之后开始提交到文档上,然后,可能你编辑第一列,小明小红编辑第二列第三列,然后慢慢的这个文件就越来越丰富了。

正常情况下,我看到他们有错别字的时候,我也可以顺手改掉。但是偶尔会遇到我们同时编辑一列的时候,这个时候就有问题了,选择我的还是他的呢,这个时候可能大家要停一下沟通一下,我写的时候你就不要再写了。

Git仓库就类似于石墨文档的这个共享文件的概念,每一列就类似于不同的分支,当前的整个文件就相当于主分支(通常叫master),然后大家在自己各自的分支上有条不紊的进行开发作业,然后汇总到一起(提交到master分支),中间可能你发现同事代码写的逻辑有问题或者有新的功能要加上,就修改一下,修改可能导致冲突(类似于同时编辑石墨文档),然后就要解决冲突。

上面提到的文件概念类似于一个小项目,大公司的话我们可以理解成他有多个这样的文件,其中每个文件大概都是这样的一个流程。当然了,真实的git是很复杂精妙的,石墨文档的说法(不严谨)只是为了帮助理解。

第一次提交代码时

 git commit 公司项目的ssh地址(拉master分支上的代码)
 在idea新创建一个分支,修改代码(不要修改master上的代码,建自己的分支)
 git push --set-upstream origin 你新建的分支名(远程提交你的代码)

第二次及以后提交代码时

此刻,你应该是在自己的分支上(第一次提交代码时的分支)

在idea上右键根目录,commit你要提交的代码(检查代码是否提交或错误)
git stash(保存你修改了但是不提交的代码)
git checkout master(切换到本地master分支)
git pull --rebase(简单理解把远程更新的代码拉过来)
git checkout 你的分支名 (切换到自己的分支)
git rebase master(简单理解把远程更新的代码拉到自己分支)
git stash pop(将暂存的工作区代码拿出来)

---遇到冲突请记得查找如何解决---

git push origin 你的分支名(将本地分支推到远程仓库)

一个idea

如果你是一个本科的学生,或者是想做个安卓小demo的JAVA开发者,你不妨设计一个小型的解释git原理的app,实体类有角色,索引类等等,做这样的app的好处是可以更直观的帮助人们学习git,blur…blur,由于时间原因,我把这个创意留给你,快去试试吧!
如果你是一个公众号作者,恰好又对作图等感兴趣,不妨做一个把git各种命令执行逻辑做成gif动画,绝对文章爆,快去试试吧,记得艾特我!

碎碎念

今天看到了阿里团队发的一文讲透 Git 底层数据结构和原理(侵权请联系我删除),觉得他们写的还是很不错的,虽然还是不够通俗易懂,但是已经很不错了,再多画几张图更好。然后,我感觉跟大佬比,自己的博客深度还是略低,希望以后改进,再写这个主题的时候能够更深刻一点。

我是预测师,一个在520节日里继续写博客的人。

你可能感兴趣的:(git,java,程序人生,经验分享,spring)