今天是左小白入職新公司的第一天,這是左小白第二家公司,第一家公司工做 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