git 常用命令

2021-06-26 13:06:51 字數 2726 閱讀 7947

1.建立版本庫

初始化乙個git倉庫:git init。

新增檔案到git倉庫,分兩步:

第一步,使用命令git add ,注意,可反覆多次使用,新增多個檔案;

第二步,使用命令git commit -m "msg"後面輸入的是本次提交的說明,完成。

檢視工作區的狀態:git status。

如果git status告訴你有檔案被修改過,用git diff 可以檢視修改內容

2.版本回退

head指向的版本就是當前版本,上乙個版本就是head^,上上乙個版本就是head^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成head~100。因此,git允許我們在版本的歷史之間穿梭。

穿梭前,用git log --pretty=oneline可以以單行形式檢視提交歷史,以便確定要回退到哪個版本,命令顯示從最近到最遠的提交日誌。

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

3.工作區和暫存區

版本庫(repository):工作區有乙個隱藏目錄.git,這個不算工作區,而是git的版本庫。

stage(或者叫index)的暫存區,還有git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head。

把檔案往git版本庫里新增的時候,是分兩步執行的:

第一步是用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區;

第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。

可以簡單理解為,需要提交的檔案修改通通放到暫存區,然後,一次性提交暫存區的所有修改。

4.管理修改

「git commit」只負責把暫存區的修改提交了.每次修改,如果不add到暫存區,那就不會加入到commit中。

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

場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。

從版本庫中刪除該檔案:git rm 。如果乙個檔案已經被提交到版本庫,那麼你永遠不用擔心誤刪,但是要小心,你只能恢復檔案到最新版本,你會丟失最近一次提交後你修改的內容。git checkout -- file 從暫存區恢復到工作區最近一次修改。

5.分支管理

git鼓勵大量使用分支:

檢視分支:git branch

建立分支:git branch name

切換分支:git checkout name

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

合併某分支到當前分支:git merge name(切換到想要合併的分支上)

刪除分支:git branch -d name

在git裡,這個分支叫主分支,即master分支。head嚴格來說不是指向提交,而是指向master,master才是指向提交的,所以,head指向的就是當前分支。

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

git branch dev

git checkout dev

當git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。

用git log --graph命令可以看到分支合併圖。

git merge --no-ff -m "merge withno-ff" dev  準備合併dev分支,請注意--no-ff引數,表示禁用「fastforward」  為本次合併要建立乙個新的commit,所以加上-m引數,把commit描述寫進去。

分支策略

在實際開發中,我們應該按照幾個基本原則進行分支管理:

master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發布時,再把dev分支合併到master上,在master分支發布1.0版本;每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了。

修復bug時,我們會通過建立新的bug分支進行修復,然後合併,最後刪除;

當手頭工作沒有完成時,先把工作現場git stash一下,然後去修復bug,修復後,再git stash pop,回到工作現場。

開發乙個新feature,最好新建乙個分支;

如果要丟棄乙個沒有被合併過的分支,可以通過git branch -d name強行刪除。

6.多人協助

檢視遠端庫資訊,使用git remote -v;

本地新建的分支如果不推送到遠端,對其他人就是不可見的;

從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠端的新提交;

在本地建立和遠端分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠端分支的名稱最好一致;

建立本地分支和遠端分支的關聯,使用git branch --set-upstream branch-name origin/branch-name;

從遠端抓取分支,使用git pull,如果有衝突,要先處理衝突。

常用命令 Git 常用命令大全

安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...

git 常用命令

檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...

git常用命令

詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...