Git常用命令

2021-09-24 01:29:41 字數 3877 閱讀 6737

git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head。

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

#建立檔案

#進入檔案

#初始化**倉庫

$ git init

#把需要提交的所有修改放到暫存區(stage)

$ git add file

#提交所有檔案

#$ git add .

#提交所有.js格式檔案

#$ git add *.js

#強制新增

#$ git add -f file

#提交**

$ git commit -m "commit info"

#檢視歷史記錄,git log命令顯示從最近到最遠的提交日誌

$ git log

#檢視分支合併圖

$ git log --graph

#git提供了乙個命令git reflog用來記錄你的每一次命令:

$ git reflog

#git status命令用於顯示工作目錄和暫存區的狀態。使用此命令能看到那些修改被暫存到了, 哪些沒有, 哪些檔案沒有被git tracked到。git status不顯示已經commit到專案歷史中去的資訊。

$ git status

#當暫存區中沒有檔案時,git diff比較的是,工作區中的檔案與上次提交到版本庫中的檔案。

#當暫存區中有檔案時,git diff則比較的是,當前工作區中的檔案與暫存區中的文

$ git diff

#比較工作區中的檔案與版本庫中檔案的差異。head指向的是版本庫中的當前版本,而file指的是當前工作區中的檔案。

$ git diff head -- file

#git必須知道當前版本是哪個版本,在git中,用head表示當前版本,上乙個版本就是head^,上上乙個版本就是head^^,當回退版本較早時可以寫成head~100。

#版本回退

$ git reset --hard head^

#取消回退,commitid為你想要回到的未來版本號

$ git re**set** --hard commitid

命令git checkout ——file 把檔案在工作區的修改全部撤銷,這裡有兩種情況:

* 一種是file修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

* 一種是file已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

#檔案在工作區的修改全部撤銷

$ git checkout -- file

命令git rm用於從版本庫刪除乙個檔案。

如果乙個檔案已經被提交到版本庫,那麼你永遠不用擔心誤刪,但是要小心,你只能恢復檔案到最新版本,你會丟失最近一次提交後你修改的內容。

#從版本庫刪除乙個檔案

$ git rm file

#關聯乙個遠端庫

$ git remote add origin [email protected]:cloudyttt/learngit.git

#第一次將本地庫的所有內容推送到遠端庫上

$ git push -u origin master

#此後,每次本地提交後,就可以使用命令推送最新修改

$ git push origin master

#

git clone [url]

比如,要轉殖 ruby 語言的 git **倉庫 grit,可以用下面的命令:

$ git clone git:

如果希望在轉殖的時候,自己定義要新建的專案目錄名稱,可以在上面的命令末尾指定新的名字:

#唯一的差別就是,現在新建的目錄成了mygrit,其他的都和上邊的一樣。

$ git clone git: mygrit

建立+切換分支:

$ git checkout -b
建立分支:

$ git branch
切換分支

$ git checkout
檢視分支:

#git branch命令會列出所有分支,當前分支前面會標乙個*號。

$ git branch

切換分支

#切換回master分支

$ git checkout

合併某分支到當前分支

$ git merge
刪除分支

$ git branch -d
git分支十分強大,在團隊開發中應該充分應用。

合併分支時,加上—no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。

儲藏可以獲取你工作目錄的中間狀態——也就是你修改過的被追蹤的檔案和暫存的變更——並將它儲存到乙個未完結變更的堆疊中,隨時可以重新應用。

現在你想切換分支,但是你還不想提交你正在進行中的工作;所以你儲藏這些變更。為了往堆疊推送乙個新的儲藏,只要執行git stash。把所有未提交的修改(包括暫存的和非暫存的)都儲存起來,用於後續恢復當前工作目錄。

git stash
需要說明一點,stash是本地的,不會通過git push命令上傳到git server上。

檢視現有的所有儲藏,此命令顯然暗示了git stash可以多次儲存工作進度,並用在恢復時候選擇。

$ git stash list
重新應用已經實施的儲藏(不刪除儲藏)

重新應用已經實施的儲藏(刪除儲藏)

#如果不使用任何引數,會恢復最新儲存的工作進度,並將恢復的工作進度從儲存的工作進度列表中清除。

#如果提供引數(來自git stash list顯示的列表),則從該中恢復。恢復完畢也將從進度列表中刪除。

#選項--index除了恢復工作區的檔案外,還嘗試恢復暫存區。

$ git stash pop [--index]

刪除乙個儲存的進度。(預設刪除最新的進度)

$ git stash drop
清空當前所有的stash

$ git stash clear
基於儲藏進度建立分支。

$ git stash branch 

檢視遠端庫的資訊:

#或者用git remote -v 可顯示更詳細的資訊

$ git remote

推送分支,該分支上的所有本地提交推送到遠端庫

$ git push origin 

從本地推送分支,如果推送失敗,先抓取遠端的新提交:

$ 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...