git checkout reset 傻傻分不清楚

2021-08-07 03:00:08 字數 1354 閱讀 8419

先是建立了乙個專門用來測試的資料夾:

mkdir test_dir

進入資料夾:

cd test_dir

新建乙個git管理倉庫:

git init

在當前資料夾下新建乙個文字進行實驗:

vi git_doc

按esc鍵,輸入冒號後,wq儲存;

這個時候重點來了,我們要先把這個版本提交:

git commit -m "origin version"

接著來修改檔案,再次vi進入:

vi git_doc

新增一行:

add some words for testing!

檢視一下當前狀態:

git status

此時顯示:

可以看到現在顯示的修改是紅色的,指的是**還沒有被新增到暫存區(具體暫存區是什麼,工作區是什麼,自己去看一下吧,不解釋了),那麼我們現在滿足你,給你放到暫存區裡:

git add .

(注意上面這個點啊,是指當前目錄下的所有檔案!)

接下來檢視:

git status

此時顯示:

變綠了,有木有?

然後我們要說本篇重點了,如果這個時候你發現你新加的那一行字add some words for testing!不想要了,怎麼辦?

提示寫的很清楚不是麼,這個時候我們用:

git reset head .

則可以返回到紅色的那張圖的狀態;但是如果你是用:

git checkout -- .

則不會起任何作用;

所以我們自然是快樂的使用上面的reset啦:

git reset head .

這個時候就回到了紅色狀態,不過這個時候你修改的檔案裡還是有那一行字對不對;接著因為我們狀態已經變紅,接下來繼續:

git checkout -- .

好吧,這時我們就可以再vi開啟檔案看一下了,發現只剩下一行了是不是,所以,這兩個命令的關係也就明了了,實驗結束,本篇完。

MVP, MVC, MVVM, 傻傻分不清楚

最近 mvc model view controller 和 mvvm model view viewmodel 在微軟圈成為顯學,asp.net mvc 和 wpf 的 prism mvvm framework 功不可沒,mvc 和 mvvm 在概念上都是基於分層的,將呈現 presentatio...

這幾個的用法傻傻分不清

每每看到這幾個,就矇圈了,這都是啥呀?既然這麼容易混淆,我還是來做個小筆記吧,以便日後查閱 1.slice 陣列 用法 array.slice start,end 解釋 該方法是對陣列進行部分擷取,並返回乙個陣列副本 引數start是擷取的開始陣列索引,end引數等於你要取的最後乙個字元的位置值加上...

這幾個的用法傻傻分不清

每每看到這幾個,就矇圈了,這都是啥呀?既然這麼容易混淆,我還是來做個小筆記吧,以便日後查閱 1.slice 陣列 用法 array.slice start,end 解釋 該方法是對陣列進行部分擷取,並返回乙個陣列副本 引數start是擷取的開始陣列索引,end引數等於你要取的最後乙個字元的位置值加上...