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