Git(二) —— Git本地倉庫的搭建與使用

《Git葵花寶典》:Git Book

1. 實驗環境

主機信息 主機功能
git(192.168.1.50) 搭建git倉庫
物理機(192.168.1.250) 提供資源

2. Git Status狀態顯示分類

Git有三種狀態:已提交(committed)、已修改(modified)和已暫存(staged)

  • 已修改表示修改了文件,但還沒保存到數據庫
  • 已暫存表示對一個已經修改的文件當前版本做了標記,使之包含在下次提交的快照中
  • 已提交表示數據已經安全的保存在本地數據庫中
    在這裏插入圖片描述
    狀態標記
  • 新添加的未跟蹤文件前面有 ?? 標記
  • 新添加到暫存區中的文件前面由 A 標記
    在這裏插入圖片描述
  • 修改過的文件前面有 M 標記
  • 出現在 右邊的M 表示該文件被修改了但還沒有放入暫存區
  • 出現在 靠左邊的M 表示該文件被修改了並放入了暫存區
  • MM 表示工作區被修改並提交到暫存區後又在工作區中被修改了,所以在暫存區和工作區都有該文件被修改了的記錄
    在這裏插入圖片描述

3. Git部署過程

(1)安裝git命令
在這裏插入圖片描述
(2)創建本地倉庫,並初始化

mkdir demo       # 這裏創建的版本庫的名字爲demo
cd demo/         # 
ls -a
git init	     #進行初始化,需要在版本庫目錄中(這裏的版本庫目錄爲demo)
l.

在這裏插入圖片描述
可以發現當前目錄下多了一個.git的目錄,這個目錄是Git來管理版本庫的,一般不要手動修改這個.git目錄裏面的文件
(3)添加用戶信息
初始化完後,接下來就要設置用戶名和郵件地址,每次Git提交都會附帶上這些信息 倉庫所有者的標籤

git config --global user.email "[email protected]"
git config --global user.name "du"
cat ~/.gitconfig

在這裏插入圖片描述
(4)創建文件,查看文件狀態

echo This text is test >> test.txt
git status -s

在這裏插入圖片描述
新添加的未跟蹤的文件前面有??標誌,表示沒有添加到暫存區

git add test.txt
git status -s

在這裏插入圖片描述
標誌A表示已經添加到暫存區了

echo linux >> test.txt
git status -s

在這裏插入圖片描述
內容修改但是還沒有放入暫存區,此時M在靠右邊

git add test.txt
git status -s

在這裏插入圖片描述
內容修改且放入暫存區,此時M在靠左邊

echo dsd >> test.txt
git status -s

在這裏插入圖片描述
工作區被修改並提交到暫存區後又在工作區中被修改了,所以在暫存區和工作區都有該文件被修改了的記錄

git add test.txt
git status -s
git commit -m "v1"

在這裏插入圖片描述
將修改後的內容放入到暫存區,此時M靠左邊
提交之後我們就會發現沒有文件狀態了
(5)忽略文件
在創建過程中總會自動生成一些我們不需要的文件,比如日誌文件、編譯過程中的臨時文件等。這種情況下,創建一個 .gitignore 的文件,列出要忽略的文件模式

[root@git demo]# git status -s
?? env/
[root@git demo]# touch .file1
[root@git demo]# git status -s
?? .file1
?? env/
[root@git demo]# ls
env  test.txt
[root@git demo]# l.
.  ..  .file1  .git
[root@git demo]# vim .gitignore
[root@git demo]# cat .gitignore 
.*
env
[root@git demo]# git status -s
[root@git demo]# 

在這裏插入圖片描述
(6)版本回退
Git同系統也是一樣,每當文件修改到一定程度的時候,就可以“保存一個快照”,這個快照在Git中被稱爲commit。
一旦你把文件改亂了,或者誤刪了文件,還可以從最近的一個commit恢復,然後繼續工作,而不是將成果全部丟失
在這裏插入圖片描述

git log命令顯示從最近到最遠的提交日誌
git log --pretty=oneline查看簡略日誌信息
git reflog查看歷史記錄

在這裏插入圖片描述

git reset --hard HEAD^
上一個提交狀態就是HEAD,上上一個提交狀態就是HEAD^

在這裏插入圖片描述

git reset --hard … 回退到指定狀態

在這裏插入圖片描述
(7)刪除恢復

git checkout – file
以丟棄工作區的修改,就是讓這個文件回到最近一次git commit或git add時的狀態
刪除後沒有提交,直接:git checkout – file即可
刪除且提交後: git reset --hard 指定狀態

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章