常用的git命令總結
1:git安裝完成後,設定 name和email $ git config --global user.name "Your Name" $ git config --global user.email "[email protected]" 2:建立版本庫 $ mkdir learngit $ cd learngit $ pwd 初始化版本庫 $ git init 將檔案新增到版本庫 $ git add readme.txt 將檔案提交到倉庫 $ git commit -m "wrote a readme file" git log命令顯示從最近到最遠的提交日誌 如果嫌輸出資訊太多,看得眼花繚亂的,可以試試加上--pretty=oneline引數 $ git log --pretty=oneline 3:版本回退 $ git reset --hard HEAD^ 回退到上一個版本 cat files 顯示檔案 指定回到未來的某一個版本,前提是命令列沒有關,找到append GPL的commit id $ git reset --hard "commit id" 你回退到了某個版本,關掉了電腦,第二天早上就後悔了,想恢復到新版本怎麼辦? 找不到新版本的commit id怎麼辦? 重返未來 $ git reflog 4:工作區和暫存區 工作區:就是電腦裡面能夠看到的目錄,比如我的learngit資料夾就是一個工作區 版本庫:工作區有一個.git檔案,這個不算工作區,這個是版本庫 暫存區:版本庫裡面存了一個stage暫存區,還有git自動為我們建立的第一個分支 master 以及指向master的一個指標HEAD。 用git diff HEAD -- readme.txt命令可以檢視工作區和版本庫裡面最新版本的區別: $ git diff HEAD -- readme.txt 5:撤銷修改 $ git checkout --readme.txt git checkout -- file可以丟棄工作區的修改 這裡有兩種情況:
一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
一種是readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。
總之,就是讓這個檔案回到最近一次git commit或git add時的狀態。 6: 刪除檔案 rm files 工作區的檔案 git rm one.txt 刪除版本庫中的檔案 git checkout --one.txt 其實是用版本庫裡的版本替換工作區的版本,無論工作區是修改還是刪除, 都可以“一鍵還原”。 7:遠端倉庫 1:把本地倉庫和遠端倉庫關聯 $ git remote add origin ssh_ulr/https_url /origin就是遠端倉庫的名字,隨便取 2:把所有內容推送到遠端 $ git push -u origin master /把當前分支master推送到遠端 第一次push加 -u / 以後直接用 $ git push origin master 8:從遠端倉庫克隆 $ git clone url 9:分支管理 建立分支切換到dev分支: $ git checkout -b dev 相當於 :git branch dev $ git checkout dev 檢視當前分支: $ git branch 合併分支: $ git merge dev 刪除分支: $ git branch -d <name> 10:分支管理策略 合併分支時,加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經 做過合併,而fast forward合併就看不出來曾經做過合併。 $ git merge --no-ff -m "merge with no-ff" dev 檢視遠端倉庫名稱 :git remote /或者用 git remote -v檢視更詳細的資訊 將遠端版本拉取下來: git pull