Git 从入门到跑路(一)

782 阅读3分钟

1

今天是左小白入职新公司的第一天,这是左小白第二家公司,第一家公司工作 2 年,左小白后面已经能独立做整个项目,本想毕业就来这家公司,现在能力自我感觉也不错,是该涨波工资了,于是他找到领导,希望能涨 2 K,领导巴拉巴拉说了很多,就是没说涨工资,左小白心寒,这是宁愿再招人也不愿意给老员工涨薪!

第二天,左小白就开始进入项目,他发现新公司版本控制是用的 Git,之前是 SVN,问了旁边的同事,跟他说,Git 和 SVN 没什么区别的,会 git addgit commit就够了,左小白心想,SVN 他已经用的很溜,Git 那岂不是信手拈来,拿起键盘就干起来了。

2

左小白首先安装 Git,git config好了邮箱和姓名,然后git clone项目,就看起了代码,熟悉项目。可能因为左小白是新人,组长先分给他简单的任务,登录页面实现,这对于左小白完全是杀鸡用牛刀,不到两个小时,他就完成了,自测也 OK,可以提交代码了,修改涉及到页面 login_activity.xml、LoginActivity.java、LoginModel.java、ApiStores.java 总共四个文件,按照同事说的,先 add 再 commit,git add ApiStores.javagit add LoginActivity.javagit add LoginModel.javagit add login_activity.xml,草(一种植物),终于 add 完了,再git commit,填上提交信息“Login”,以为这样就 OK 了,没想到这幕被组长正巧看到,左小白完全察觉到组长站在身后,大概工作太认真。

3

组长:小白,你这样提交就 OK 了吗?
左小白:嗯,是的,我之前 SVN,这样就好了啊。
组长:不,你要了解 Git 和 SVN 还是有些不同,你要了解下工作区、暂存区、本地仓库、远程仓库。
左小白:什么……
组长:况且,你这这样一个 add 是不是有点费劲,现在就 4 个修改,看你都 add 很久,有 10 个 20 个甚至 100 个文件,怎么办,一个个 add 不得死人啊。
左小白:那应该怎么 add 啊?
组长:你起来,我操作一遍给你看下。

4

只见组长一顿操作,“我先把你提交回退掉,演示一遍给你看看”,等等,回退,那我今天代码岂不是白敲,组长估计看出了我疑惑,他接着说,你的代码还在,你看下我首先用的是git status .看下有哪些修改:

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 是提交到本地仓库,明白了吗?

5

左小白这时有点懵逼,原来 Git 这么复杂,他此时很想锤旁边的同事,是他说 Git 和 SVN 差不多,害他在领导面前出丑。他现在有 3 个疑问:1、工作区、暂存区、本地仓库、远程仓库都是啥?2、他刚刚提交好了,组长一顿操作是如何回退的?3、他如果删除了文件,怎么 add?他是没敢问组长,太丢人了。

未完待续……

更多文章请关注公号:吴小龙同学