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 簡單顯示 這裡沒有
回退版本
gitreset --hard HEAD^ 回到上一個版本
git reset --hard HEAD^^ 回到上上個版本 ^表示的是上個 ^理論上有上百個HEAD
:HEAD
就是指向當前分支當前版本的遊標
如圖
如果在想回到上個版本怎麼辦,如果沒關 那麼
回退的原理
從git reflog 可以看到commitid 92339b8
工作區:
就是在電腦裡能看到的目錄
一旦提交後,如果你又沒有對工作區做任何修改,那麼工作區就是“乾淨”的:
如果不用git add 那麼不會提交到緩衝區
寫部落格是為了讓別人能明白,之後在是自己明白. 如果有不明白的地方歡迎加Q3378404370 討論