1. 程式人生 > 其它 >git基本概念(1)

git基本概念(1)

部分參考:

對給git配置郵箱和使用者名稱的理解_ITWANGBOIT的部落格-CSDN部落格_git為什麼要配置使用者和郵箱

工作區和暫存區 - 廖雪峰的官方網站 (liaoxuefeng.com)

開始

git config --global user.name "今年一定暴富"
git config --global user.email "[email protected]"

結果:

需要配置前提:

遠端倉庫一般支援兩種協議:SSH和HTTPS,SSH協議只認機器,HTTPS協議只認賬號;也即為:如果使用SSH操作遠端倉庫的話,我們需要使用公鑰和私鑰對來做許可權的認證,如果使用HTTPS操作遠端倉庫,則需要使用賬號密碼來做許可權的認證。無論是公鑰私鑰對,還是賬號密碼,都只做許可權的認證;但是遠端倉庫裡需要記錄這些提交記錄是由誰來完成的;所以我們需要給本地的git設定使用者名稱和郵箱,用於從本地倉庫向遠端倉庫提交記錄時,在遠端倉庫記錄下這些操作是由誰來完成的
為什麼要配置:

因為Git是分散式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址(名字和郵箱都不會進行驗證),這樣遠端倉庫才知道哪次提交是由誰完成的。你也許會擔心,如果有人故意冒充別人怎麼辦?這個不必擔心,首先我們相信大家都是善良無知的群眾,其次,真的有冒充的也是有辦法可查的。

配置的使用者名稱和郵箱對push程式碼到遠端倉庫有什麼影響

首先,配置的使用者名稱和郵箱對push程式碼到遠端倉庫時的身份驗證沒有作用,即不用他們進行身份驗證;他們僅僅會出現在遠端倉庫的commits裡。(不會進行身份驗證,只會出現在Coomit裡面)

其次,按正常操作來說,你應該配置你的真實使用者名稱和郵箱,這樣一來在遠端倉庫的commits裡可以看到哪個操作是你所為。

最後,這個使用者名稱和郵箱是可以隨便配置的(不提倡),如果你配置的郵箱是github裡真實存在的郵箱,則commits裡顯示的是這個郵箱對應的賬號;如果配置的郵箱是一個在github裡不存在的郵箱,則commits裡顯示的是你配置的使用者名稱。

建立

git init

初始化一個git 可以管理的庫 會返現資料夾下多了一個.git,這個目錄是Git來跟蹤管理版本庫的

操作本地倉庫

touch readme.txt    建立檔案命令
git add readme.txt   新增readme.txt 加入緩衝區
git commit -m "write a readme.txt
" 從緩衝區提交到本地
touch file1.txt file2.txt file3.txt
git add file1.txt file2.txt file3.txt 新增緩衝區
git commit -m "add 3 files"

結果如圖

git status 檢視工作區的狀態

對 readme.txt進行修改

git diff readme.txt  //檢視變動
git log 列印日誌

git log --pretty=oneline 簡單顯示 這裡沒有
回退版本
git reset --hard HEAD^ 回到上一個版本
git reset --hard HEAD^^ 回到上上個版本 ^表示的是上個 ^理論上有上百個
HEAD:HEAD就是指向當前分支當前版本的遊標

如圖

如果在想回到上個版本怎麼辦,如果沒關 那麼

回退的原理

從git reflog 可以看到commitid 92339b8

工作區:

就是在電腦裡能看到的目錄

一旦提交後,如果你又沒有對工作區做任何修改,那麼工作區就是“乾淨”的:

如果不用git add 那麼不會提交到緩衝區

寫部落格是為了讓別人能明白,之後在是自己明白. 如果有不明白的地方歡迎加Q3378404370 討論