廖雪峰 Git筆記

2021-09-26 20:37:39 字數 2662 閱讀 2700

git簡介--分布式版本控制系統

集中式vs分布式:

集中式版本控制系統,版本庫集中存放在**伺服器,必須要聯網才能工作,沒有歷史版本庫。

分布式版本控制系統,不需要「**伺服器」,每個開發人員電腦上都有乙個完整的版本庫。

分布式優勢:安全性更高,無需聯網,若「**伺服器」故障,任何乙個其他開發者本地都有最新的帶歷史記錄的版本庫。

主要區別在於歷史版本庫的存放,集中式歷史版本只存在於**伺服器,而分布式中每個本地庫都有歷史記錄存放。

配置git:

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

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

注意 --global引數表示你這台機器上所有的git倉庫都會使用這個配置。

2.git命令

注意:建立版本庫操作(如果你使用windows系統,為了避免遇到各種莫名其妙的問題,

請確保目錄名(包括父目錄)不包含中文)

切換碟符命令

$ cd f:

建立版本庫

$ mkdir testrepository

進入版本庫 

$ cd testrepository

補充-- pwd顯示路徑,ls顯示當前目錄內容,ls -ah顯示隱藏目錄

$ git init        命令把當前目錄變成git可以管理的倉庫(成功之後當前目錄下會有.git(隱藏)目錄,需要使用ls -ah命令檢視)
3.使用vi編輯器

命令效果

$ vi readme.txt新建或修改檔案操作

i編輯操作

esc退出編輯模式

$ cat readme.txt檢視檔案內容

:wq儲存並退出(其他命令如下)

:w                儲存檔案,不退出vi

:w 另存為file,不退出

:w!                強制儲存,不退出

:wq                儲存檔案,退出

:wq!            強制儲存,退出

:q                不儲存,退出

:q!                不儲存,強制退出

:e!                放棄所有修改,回到上次儲存檔案開始編輯

4.把檔案新增到版本庫

$ git add readme.txt            可以多次新增

$ git commit -m "description"    新增完成之後在進行提交

5.檢視倉庫當前的狀態        $ git status

6.檢視修改過的內容          $ git diff readme.txt         diff--differen

git diff比較的是工作目錄中當前檔案和暫存區域快照之間的差異, 也就是修改之後還沒有暫存起來的變化內容。若要檢視已暫存的將要新增到下次提交裡的內容,可以用 git diff --cached 命令。

請注意:git diff 本身只顯示尚未暫存的改動,而不是自上次提交以來所做的所有改動。 所以有時候你一下子暫存了所有更新過的檔案後,執行 git diff 後卻什麼也沒有,就是這個原因。

7.檢視提交日誌歷史-- 列出最近到最遠的提交日誌歷史記錄

詳細      $ git log            q 退出檢視

簡潔      $ git log --pretty=oneline

8.回退版本操作,一共有兩種方式

第一種方式,視窗查詢的commit id的方式進行版本回退

先 $ git log  檢視歷史記錄,在回退到自己需要的版本

回退到指定版本需要 $ git log 中的commit id(版本號)        git reset --hard

版本號可以不寫全部的,至少4個,否則git會找到多個版本號,並提示

fatal: ambiguous argument 'b': unknown revision or path not in the working tree.

use '--' to separate paths from revisions, like this:

'git [...] -- [...]'

回退到上個版本            git reset --hard head^   (不區分大小寫)

head    當前版本

head^    上個版本

head^^    上上個版本

head~100 往上100個版本

第二種方式,使用$ git reflog得到commit id

檢視歷史命令            $ git reflog

回退到指定版本        git reset --hard

9.工作區與暫存區 

Git 廖雪峰 學習筆記

目錄 git工作區域 git初始化及倉庫建立和操作 初始化新的git倉庫 1.新建資料夾 2.在檔案內初始化git 如何將本地倉庫同步到git 遠端倉庫 1.關聯遠端庫 2.第一次推送master分支的所有內容 3.每次本地提交後,推送最新修改 轉殖 分支管理 1.建立與合併分支 2.解決衝突 3....

git 廖雪峰學習筆記

git的誕生 linus堅決反對cvs和svn等集中式版本控制系統 因為速度慢且需要聯網 bitmover公司授權linux社群商業軟體bitkeeper免費使用權 linus社群牛人試圖破解bitkeeper的協議被bitmover公司發現 bitmover公司收回linux社群bitkeeper...

git整理 廖雪峰教程筆記

首先git是乙個版本控制工具,它提供的好處在於 1 儲存了你的每一次歷史改動 2 便於協作編輯。git誕生與linus!這個人真的是很厲害了。他嫌棄svn等集中式的開源版本控制工具,又不想用商業的系統,bitkeeper作為乙個商業的分布式版本控制系統曾經授權linux社群免費使用,結果因為不安分的...