學習GIT常用命令

2021-08-21 03:21:53 字數 3709 閱讀 9241

淺顯易懂完整的git學習教程在這裡

廖雪峰的官方**-git教程

簡單來說,git的工作流程很簡單,我們把整個過程中檔案的轉移分為3個區域:工作區,暫存區,分支。

工作區就是我們對檔案進行操作的地方,比如你在本地git倉庫修改檔案,編寫**的檔案儲存空間。現在你的檔案改好了,想把它提交到git倉庫中,先要把它提交到暫存區,最後再提交到分支。預設的分支為master,也可以自己建立分支。這樣檔案就被儲存到git倉庫裡了。

進入乙個資料夾,git init新建乙個git倉庫a

git add將檔案新增到到暫存區

git commit -m '***'將檔案提交到分支,引數-m後面寫上對本次提交的說明,最好寫上

git status顯示倉庫當前狀態

git diff檢視各版本檔案的不同,顯示的格式為unix通用的diff格式

git log顯示時間最近到最遠的提交版本的詳細資訊,加上引數--pretty-- oneline顯示簡要資訊,其中有版本號

在git中,head表示當前版本,上一版本為head^,上上一版本為head^head~2

,以此類推。

git reset --hard head將檔案重置為上乙個版本,也可通過版本好重置:git reset --hard 版本號版本號只需打出足夠辨識的前幾位

git reflog顯示出每一歷史命令

git diff head --檢視最新版本庫與工作區檔案的區別

git checkout --撤銷檔案在工作區的修改(尚未提交到分支)回到最近一次addcommit是的狀態

git reset head撤銷暫存區修改,放回工作區

git rm從版本中刪除檔案,要commit

我這裡以github為例

建立ssh key(本地庫與遠端庫關聯的金鑰)

在shell中輸入ssh-keygen -t rsa -c '[email protected]',再在github使用者功能下,新增進去金鑰,建議新增id+rsa.pub的內容

關聯github上的git倉庫,先建立乙個倉庫,然後在本地倉庫執行命令:

git remote add origin [email protected]:git push -u origin master把本地庫的master推送到github的遠端庫上,第一次推送加上引數-u,還會把本地的maste分支和遠端的master分支關聯起來,以後就可以只用git push origin master推送就行了

git clone [email protected]:分支讓我們跟方便的管理專案,比如乙個專案正式的發布版本在master分支上,那我們不可能在master上直接改,出差錯了怎麼辦。一般都會建立乙個新分支,比如分支branch1,作為專案發布前的主分支。專案組的工作人員在沒人建立乙個分支mybranch,以branch1為模板,各自寫自己負責的**,在合併到branch1上,測試通過後,再把branch1合併到master上。

git checkout -b 《分支名》建立並切換分支,相當於兩條命令:git branch xx;git checkout ***

git branch檢視當前所有分支 ,*會出現在當前所在分支前

git merge xx將xx分支合併到當前分支上(這樣會採用fast forward 模式,這種模式刪除分支後會丟掉分支資訊)

git merge --no-ff -m '***' 分支名用–no-ff 引數禁用fast froward

git branch -d xx刪除xx分支 若加上引數-d表示強行刪除

如果master和別的分支都分別有新的提交,git無法快速合併,只能試圖將各自的修改合併起來,但可能會引起衝突,必須手動解決衝突再提交。

git log --graph顯示分支合併圖

git stash儲存當前未提交的改動。如果你得為你的專案新加乙個功能,在你的分支上**寫了一半了,結果專案中發現了乙個bug,你必須馬上解決。可你又無法提交你現在改動的專案(因為還未完成),這個時候你可已選擇儲存它,回到未改動前的版本,解決了bug再回來繼續寫完它。

git satsh list顯示儲存的工作現場

git satsh pop恢復工作現場的同時把stash的內容也刪除了

git remote -v檢視遠端庫資訊,引數-v顯示更詳細的資訊

git checkout -b dev origin/dev建立遠端的dev分支到本地

git pull得到當前分支的最新提交

如果git pull提示「no tracking information」,則說明本地分支和遠端分支的鏈結關係沒有建立,用命令git branch --set-upstream branch-name origin/branch-name

git的標籤雖然是版本庫的快照,但其實它就是指向某個commit的指標,方便人們查詢

切換到需要打標籤的分支上,git tag

打上標籤,like:git tag v1m

預設標籤打在最新提交的commit上,若想打在之前的commit上,就要找到那個commit的id,然後

git tag

git tag檢視所有標籤 標籤按字母順序排序,而非創立的時間順序

git show檢視某一標籤的具體資訊

git tag -a -m 'xx'建立帶說明的標籤

git tag -d刪除(本地)標籤

git push origin推送某個標籤到遠端

git push origin --tags推送全部尚未推送到遠端的本地標籤

若要刪除已推送到遠端的標籤,先刪除本地標籤,再刪除遠端標籤,刪除遠端庫上的標籤:

git push origin :refs/tags/

git rm --cache submodule_name刪除子模組

git branch --set-upstream-to=origin/dev dev關聯遠端分支

Git學習 git常用命令

我們常用 p 選項展開顯示每次提交的內容差異,用 2 則僅顯示最近的兩次更新 還有許多摘要選項可以用,比如 stat,僅顯示簡要的增改行數統計 p 按補丁格式顯示每個更新之間的差異。stat 顯示每次更新的檔案修改統計資訊。shortstat 只顯示 stat 中最後的行數修改新增移除統計。name...

git常用命令學習

1.提交專案 1.遠端建立專案 git clone 鏈結 拷貝下來 git add 增加的檔案 新增本地新增內容 git commit m 注釋 或者 a進入圖形介面寫入注釋 git push original master 將本地檔案提交遠端倉庫 當我們後續改變公升級專案後,再次提交如下 git ...

Git 常用命令學習

學習了網上一些git的資料 包括廖雪峰的教程 總結一下 1 git和svn命令的對比 git clone svn checkout git checkout svn switch git push svn commit 2 git add readme.txt 是把readme.txt從worksp...