git簡易使用

2021-10-21 20:22:11 字數 3828 閱讀 5703

git是分布式版本控制系統,和其他版本控制系統的主要差別在於git 只關心檔案資料的整體是否發生變化,而大多數其他系統則只關心檔案內容的具體差異。git 並不儲存這些前後變化的差異資料。git 更像是把變化的檔案作快照後,記錄在乙個微型的檔案系統中。每次提交更新時,它會縱覽一遍所有檔案的指紋資訊並對檔案作快照,然後儲存乙個指向這次快照的索引。

基本的 git 工作流程如下:

在工作目錄中修改某些檔案。

對修改後的檔案進行快照,然後儲存到暫存區域

提交更新,將儲存在暫存區域的檔案快照永久轉儲到 git 目錄中

工作區(workspace)

程式設計師進行開發改動的地方,是你當前看到的,也是最新的。平常我們開發就是拷貝遠端倉庫中的乙個分支,基於該分支進行開發。在開發過程中就是對工作區的操作。

暫存區(index):

.git目錄下的index檔案, 暫存區會記錄 git add 新增檔案的相關資訊(檔名、大小、timestamp…),不儲存檔案實體, 通過id指向每個檔案實體。可以使用 git status 檢視暫存區的狀態。暫存區標記了你當前工作區中,哪些內容是被git管理的。當你完成某個需求或功能後需要提交到遠端倉庫,那麼第一步就是通過 git add 先提交到暫存區,被git管理。

本地倉庫(repository):

儲存了物件被提交 過的各個版本,比起工作區和暫存區的內容,它要更舊一些。git commit 後同步index的目錄樹到本地倉庫,方便從下一步通過 git push 同步本地倉庫與遠端倉庫的同步。

遠端倉庫(remote):

遠端倉庫的內容可能被分布在多個地點的處於協作關係的本地倉庫修改,因此它可能與本地倉庫同步,也可能不同步,但是它的內容是最舊的。

先建立乙個reamde.txt檔案

將檔案儲存到暫存區

git add readme.txt
將暫存區的更改提交到本地版本庫

git commit -m "wrote a readme file.txt"
-m後的內容相當於為該次提交命名(版本號)

檢視建立的提交的更改資訊,通過使用 git log 命令查詢

git log
版本之間的diff

檢視簡單的diff結果,可以加上–stat引數,執行命令如下:

git diff --stat
比較上次提交commit和上上次提交的差別時,執行如下命令:

git diff head^ head
比較兩個歷史版本之間的差異時,命令如下:

git diff sha1 sha2
提交**到線上倉庫 使用git push

注意直接使用git push在大多數情況是不允許的 需要後面加上所新增分支或主幹路徑

提示如下:

[not ok]  git push

[ ok] git push origin head:refs/for/master

修改需要修改的地方(只是修改commit message就不用做)

git add . #這一步如果只是修改commit message不用輸入

git commit --amend

#輸入修改後的commit message,儲存

最後進行git push

使用git reset命令,將當前版本readme.txt回退到上乙個版本

git reset --hard head^
上乙個版本就是head^,上上乙個版本就是head^^回到指定版本 hard後面跟版本號 只要前幾位即可

git reset --hard bd5293716f00
如果不記得commit id,也可以找到回滾前的分支

git reflog
建立dev分支,然後切換到dev分支

git checkout -b dev
注:git checkout命令加上-b引數表示建立並切換,相當於以下兩條命令:

git branch dev

git checkout dev

使用git branc命令檢視當前本地分支,git branch命令會列出所有本地分支,當前分支前面會標乙個*號:

$ git branch -r檢視遠端分支

$ git branch -a檢視所有分支

$ git branch

* dev

master

在dev分支上正常提交,比如對readme.txt做個修改,加上一行,並提交:

新加一句"creating a new branch is quick."

修改readme.txt檔案,並提交修改:

a. 先執行命令下面命令

cat > readme.txt << __endl

creating a newbranch is quick.

__endl

b. 再次提交修改

git add readme.txt

git commit readme.txt -m "add creating branch"

dev分支的工作完成,使用git checkout master切換回master分支(類似,若切換到1.0分支,則使用命令 git checkout 1.0)

切換回master分支後,再檢視乙個readme.txt檔案,剛才新增的內容不見了,因為那個提交是在dev分支上,而master分支此刻的提交點並沒有變

使用git merge dev命令將dev分支的修改內容合併到master分支上

合併完成後,刪除dev分支git branch -d dev

在工作中當自己的開發分支需要合入其他分支時 需要先切換到要合入的開發分支 然後git merge 自己的分支名這時候會出現合併資訊 一般需要在開頭加上版本號 + merge資訊

git pull讀取遠端**庫 來更新本地**庫

將線上分支合入到本地分支時

如果存在同檔名 不同內容的情況 會存在合入衝突

解決方法:直接開啟其中乙個檔案 手動修改保證兩檔案內容一致

注意:存在打不開檔案的情況 可以直接在終端開啟 先切換到相應分支下vi 檔名開啟 按下i變成可編寫狀態進行修改 編寫完成後按esc退出編寫狀態 接著按下shift+: 輸入wq (儲存並退出)即可解除衝突

需要先儲存當前分支改動再切換到另乙個分支

可以採用git stash儲存當前改動 同時**會回退到上個版本

在使用git stash pop可以取出儲存的**。

Git簡易使用

安裝git,安裝後右鍵滑鼠會多出來下圖標註的兩個標誌,證明安裝成功 點選git bash here 開啟類似於命令列的視窗建立新倉庫 以下參考自 建立新資料夾,開啟,然後執行 git init 以建立新的 git 倉庫。檢出倉庫 執行如下命令以建立乙個本地倉庫的轉殖版本 git clone path...

GIT簡易使用

拉支分支 git clone 新增檔案 git add readme.md 提交備註 git commit m first commit 提交 到master分支 git push u origin master 檢視分支 git branch 建立分支 git branch name 切換分支 g...

Git簡易使用教程

1.git 安裝 2.設定git登入資訊 3.git操作命令 4.提交 的過程中幾個命令的順序 5.git 學習資料.安裝完成後,滑鼠右鍵裡找到 git bash here 彈出乙個類似命令列的視窗,就說明git安裝成功!安裝完成後,可以使用git了。在上面的git bash命令視窗裡輸入以下命令,...