今天是左小白入职新公司的第一天,这是左小白第二家公司,第一家公司工做 2 年,左小白后面已经能独立作整个项目,本想毕业就来这家公司,如今能力自我感受也不错,是该涨波工资了,因而他找到领导,但愿能涨 2 K,领导巴拉巴拉说了不少,就是没说涨工资,左小白心寒,这是宁愿再招人也不肯意给老员工涨薪!java
次日,左小白就开始进入项目,他发现新公司版本控制是用的 Git,以前是 SVN,问了旁边的同事,跟他说,Git 和 SVN 没什么区别的,会 git add
和git commit
就够了,左小白心想,SVN 他已经用的很溜,Git 那岂不是信手拈来,拿起键盘就干起来了。git
左小白首先安装 Git,git config
好了邮箱和姓名,而后git clone
项目,就看起了代码,熟悉项目。可能由于左小白是新人,组长先分给他简单的任务,登陆页面实现,这对于左小白彻底是杀鸡用牛刀,不到两个小时,他就完成了,自测也 OK,能够提交代码了,修改涉及到页面 login_activity.xml、LoginActivity.java、LoginModel.java、ApiStores.java 总共四个文件,按照同事说的,先 add 再 commit,git add ApiStores.java
、git add LoginActivity.java
、git add LoginModel.java
、git add login_activity.xml
,草(一种植物),终于 add 完了,再git commit
,填上提交信息“Login”,觉得这样就 OK 了,没想到这幕被组长正巧看到,左小白彻底察觉到组长站在身后,大概工做太认真。bash
组长:小白,你这样提交就 OK 了吗?
左小白:嗯,是的,我以前 SVN,这样就行了啊。
组长:不,你要了解 Git 和 SVN 仍是有些不一样,你要了解下工做区、暂存区、本地仓库、远程仓库。
左小白:什么……
组长:何况,你这这样一个 add 是否是有点费劲,如今就 4 个修改,看你都 add 好久,有 10 个 20 个甚至 100 个文件,怎么办,一个个 add 不得死人啊。
左小白:那应该怎么 add 啊?
组长:你起来,我操做一遍给你看下。markdown
只见组长一顿操做,“我先把你提交回退掉,演示一遍给你看看”,等等,回退,那我今天代码岂不是白敲,组长估计看出了我疑惑,他接着说,你的代码还在,你看下我首先用的是git status .
看下有哪些修改:spa
git status . On branch master Your branch is up to date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) ApiStores.java LoginActivity.java LoginModel.java login_activity.xml nothing added to commit but untracked files present (use "git add" to track) 复制代码
看到有 4 个文件修改,接下来看好了,我是用git add .
命令,而不是你那样一个个 add,这个.
代码当前目录全部修改和新建,另外你 commit 是提交到本地仓库,明白了吗?版本控制
左小白这时有点懵逼,原来 Git 这么复杂,他此时很想锤旁边的同事,是他说 Git 和 SVN 差很少,害他在领导面前出丑。他如今有 3 个疑问:一、工做区、暂存区、本地仓库、远程仓库都是啥?二、他刚刚提交好了,组长一顿操做是如何回退的?三、他若是删除了文件,怎么 add?他是没敢问组长,太丢人了。code
未完待续……orm
更多文章请关注公号:吴小龙同窗。 xml