Git 從入門到跑路(二)

6

等組長走了,左小白就帶着這三個疑問去尋求答案,首先工做區、暫存區、本地倉庫、遠程倉庫都是啥?一頓搜索引擎,看了幾篇文章,大概是明白了。git

原來新增,更改,刪除文件這些動做,就是發生在工做區,當咱們使用命令git add,那麼這些更新就會出如今暫存區中。而本地倉庫和遠程倉庫又是什麼鬼?原來執行git commit,代碼是提交到本地倉庫,再執行git push,才把代碼提交到遠程倉庫,這和 SVN 仍是有很大的區別的,怪不得組長問我 git commit就提交了?我太菜了。web

問題來了,我若是git add,我又不想 add 了,要怎麼操做?亦或是git commit,我想撤銷,怎麼作?這也是第二個疑惑「他剛剛提交好了,組長一頓操做是如何回退的?」,帶着這個疑惑,左小白又是一頓搜索引擎,搜了好十幾頁才獲得答案,某度真是辣雞。微信

若是git add後想撤銷,能夠經過命令git reset HEAD <file>,若是git commit後想撤銷,能夠經過命令git reset HEAD^,牛逼啊,今天學到知識了,左小白以爲還不夠,再整個圖,加深記憶。編輯器

測試

sequenceDiagram title: Git 示例 participant A as 工做區 participant B as 暫存區 participant C as 本地倉庫 participant D as 遠程倉庫 複製代碼A->>B:git add <file> B-->>A:git reset HEAD <file> B->>C:git commit C-->>A:git reset HEAD^ C->>D:git push 複製代碼

當小白畫完這個圖,一看時間已經來到 22:30 了,心想趕忙溜,狗命要緊,第三個疑問明天再整吧。搜索引擎

坐了一個小時的地鐵,小白終於到家了,洗洗刷個抖音,知足地睡去了。url

7

叮咚叮咚……7 點的鬧鐘響了……spa

起牀,咦,內內怎麼溼乎乎的,好像昨晚夢到女神,還跟她**,OMG。code

又是一個小時的地鐵,來到公司,左小白還想着「他若是刪除了文件,怎麼 add?」cdn

  • git add -u

提交全部被刪除和修改的文件到數據暫存區。

  • git add .

提交全部修改的和新建的數據暫存區。

  • git add -A

提交全部被刪除、被替換、被修改和新增的文件到數據暫存區。

左小白測試了一下,發現git add .git add -A功能是同樣的,無論了。

8

組長:小白,你登陸功能是作好了吧。

左小白:嗯,作好了。

組長:自測沒問題的話,把代碼提交上來吧,而後找項目經理 review 下。

左小白:好的。

以前組長已經幫左小白 add 好了,小白就直接 commit,而後 push 成功了。微信上他就找項目經理,幫忙 review 下代碼,大約 20 分鐘後,項目經理來消息了,丟了一個文檔,小白一頭霧水,有點很差意思,但代碼還得上庫,鼓起勇氣問道:「這是什麼?」 項目經理:這是代碼提交規範,你的這個提交信息「Login」不符合規範,按照「[模塊][bug/feature]描述」改下。

好吧,這給小白帶來了難點,他代碼都已經上去了,還怎麼改提交消息?難道要把代碼 Abandoned 從新提交?那就試試吧!當左小白執行git status .,提示根本就沒有文件修改,這行不通啊,怎麼辦?怎麼辦?

未完待續……

更多文章請關注公號:吳小龍同窗

相關文章
相關標籤/搜索