Git版本管理學習與應用

2021-07-30 04:40:22 字數 2519 閱讀 2185

1、安裝git

apt-get install git

2、檢視git版本

git --version

3、設定使用者名稱和郵箱

$ git config --global user.name "morixinguan"

$ git config --global user.email "[email protected]

"注意git config命令的--global引數,用了這個引數,表示你這台機器上所有的git倉

庫都會使用這個配置,當然也可以對某個倉庫指定不同的使用者名稱和email位址。

4、建立版本倉庫(在乙個目錄下建立)-->用ls -ah可以看到隱藏資料夾.git

git init

5、新增版本倉庫

git add ***

提交到倉庫

git commit -m "注釋"

6、檢視狀態

git status

7、檢視版本修改資訊

git diff (當前目錄下的乙個檔案)

8、git log

顯示從最近到最遠的提交日誌

9、git reset --hard head^   (後面的^可以回到最初版本)

恢復到上乙個版本

還可以恢復回更改過的任何乙個版本

git reset --hard  0dfe7de(後面這個是版本id號,對應那一大串數字,隨便找就

可以找到了)

10、git reflog

記錄你的每一次命令,還會記錄id資訊

現在總結一下:

head指向的版本就是當前版本,因此,git允許我們在版本的歷史之間穿梭,使用命令

git reset --hard commit_id。

穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。

要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本。

11、丟棄工作區修改(也就是改完以後沒有commit的情況下可以恢復回未改之前的狀

態)git checkout -- file(對應的檔案)

場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git

checkout -- file。

場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修

改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操

作。場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一

節,不過前提是沒有推送到遠端庫。

12、刪除檔案

建立乙個檔案:

touch ***

git add ***

git commit -m "add ***"

這時候我要刪除,我直接rm -rf ***,但是git倉庫保留了,所以可以使用git

checkout -- ***恢復這個***檔案,但是只能恢復這個檔案的最新版本,並會丟失最

後一次提交修改的內容

如果執行add commit以後的下面這條,會直接把倉庫的和本地工作區的都刪除,無法

恢復git  rm  ***

13、建立分支

git checkout -b ***(分支名稱)

git branch   (檢視當前的分支---會列出所有分支,當前分支前面會加乙個*號)

切換分支命令:   git checkout  ***(分支名稱)

建立並切換分支: git checkout -b ***(分支名稱)

在切換分支的過程中,比如切換到dev分支,這時候我在這裡建立乙個檔案,並修

改,然後git add 檔案,再git commit "資訊"

此時該檔案就順利被提交到了dev分支,這時候切換回master分支的時候,你會發現新

新增的這個檔案沒有了。

如果合併分支和master?

git merge dev(分支名稱)

意思是將再這個分支上新增的,修改的,等等的與原來的master分支合併,如果不合

並,dev分支修改的內容不會影響到master

合併**或者檔案後如何刪除分支?

git branch -d dev

再git branch就只剩下master分支了

學習廖雪峰git小結:

git鼓勵大量使用分支:

檢視分支:git branch

建立分支:git branch

切換分支:git checkout

建立+切換分支:git checkout -b

合併某分支到當前分支:git merge

刪除分支:git branch -d

提交本地倉庫到github

git remote add origin  [email protected]:yangyuanxin/y.x.yang.git

做上上述步驟後,以後提交分支可以:

git push origin master

如果出現版本衝突:

請參考這位博友發的文章解決。

CVS版本控制管理學習筆記

目錄1 為什麼要使用版本控制管理 4 2 cvs基本概念 6 3 cvs的工作模式 工作流程和目錄 8 4 cvs伺服器端基本操作 10 4.1 安裝 10 4.2 配置 10 5 cvs客戶端基本操作 12 5.1 cvs客戶端的安裝 12 5.1.1 wincvs的安裝 12 5.1.2 tor...

核心編譯與管理學習筆記

讀入bios 讀取mbr中的引導程式 lilo或者grub 讀取核心進主存,核心解壓,試圖驅動所有硬體 啟動init程式,啟動級別 讀取login或者xwindow等使用者登入 核心模組放置在 lib modules uname r 中 編譯核心是為了使得系統更穩定,對對優化提公升整體效能而言影響很...

RABC許可權管理學習

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...