git常用命令

2022-07-05 20:06:17 字數 3544 閱讀 2205

一、git branch 和 git checkout

git branch //檢視當前分支  

git branch -r //列出遠端分支  

git branch -a //列出所有分支  

git branch branchname //建立分支  

git checkout branchname //切換分支  

git checkout -b branchname //建立並切換到分支     

git checkout  //後面不跟任何引數,則就是對工作區進行檢查  

git checkout --filename //從暫存區中恢復檔案(確保filename與branch名稱不同)  

git status //檢視狀態

二、git clone 和 git remote

git clone 《版本庫的**》 《本地目錄名》  

git clone支援多種協議,除了http(s)以外,還支援ssh、git、本地檔案協議等,下面是一些例子。  

ssh協議還有另一種寫法  

$ git clone [user@]example.com:path/to/repo.git/

****************************************=  

git remote  

git remote -v  //檢視遠端主機的**  

git remote show 《主機名》 //檢視該主機的詳細資訊  

git remote add 《主機名》 《**》 //新增遠端主機  

git remote rm 《主機名》  //刪除遠端主機  

git remote rename 《原主機名》 《新主機名》 //重新命名遠端主機  

三、git pull 和 git push

$ git pull 《遠端主機名》 《遠端分支名》:《本地分支名》  

$ git push 《遠端主機名》 《本地分支名》:《遠端分支名》  

$ git pull origin master:master 取回origin主機的master分支,與本地的master分支合併  

$ git push origin master:master 推送本地的master分支,與origin主機的master分支合併    

$ git pull origin master  如果遠端分支是與當前分支合併,則冒號後面的部分可以省略。  

$ git push origin master  本地的master分支推送到origin主機的master分支。如果後者不存在,則會被新建  

$ git pull origin  本地的當前分支自動與對應的origin主機」追蹤分支」(remote-tracking branch)進行合併。  追蹤分支 是 遠端的同名分支  

$git push origin  當前分支與遠端分支之間存在追蹤關係,則本地分支和遠端分支都可以省略  

$ git pull  當前分支自動與唯一乙個追蹤分支進行合併  

$ git push  當前分支只有乙個追蹤分支,那麼主機名都可以省略  

四、git merge 和 git rebase

git merge  用"pull"命令把"origin"分支上的修改拉下來並且和你的修改合併;  結果看起來就像乙個新的"合併的提交"(merge commit):  

//使用 rebase 合併  

$ git checkout mywork  

$ git rebase origin  這些命令會把你的"mywork"分支裡的每個提交(commit)取消掉,  並且把它們臨時 儲存為補丁(patch)(這些補丁放到".git/rebase"目錄中),  然後把"mywork"分支更新 到最新的"origin"分支,  最後把儲存的這些補丁應用到"mywork"分支上  

在rebase的過程中,也許會出現衝突(conflict). 在這種情況,  

git會停止rebase並會讓你去解決 衝突;在解決完衝突後,  

用"git-add"命令去更新這些內容的索引(index), 然後,你無需執行 git-commit,只要執行:  

在任何時候,你可以用--abort引數來終止rebase的行動,並且"mywork" 分支會回到rebase開始前的狀態。  

$ git rebase --abort  

五、git log

git log --stat -n 5   // 簡單的列出了修改過的檔案  

git log -p  -n 5  // 詳細的列出修改過的檔案,及提交檔案的對比  

git log --graph // ascii 字串表示的簡單圖形,形象地展示了每個提交所在的分支及其分化衍合情況  

git log --all --decorate --graph  

git log --pretty=oneline // 只顯示雜湊值和提交說明  

git log --pretty=oneline/short/full/fuller/format:""(格式等)  

git log --name-only  // 僅在提交資訊後顯示已修改的檔案清單  

git log --no-merges // 不顯示merge的log  

常用的命令:     

git log --name-status -n 5 path/filename --no-merges // 顯示新增、修改、刪除的檔案清單(不包含merge的log)  

六、git stash

儲存工作現場     

git stash     // 儲存工作現場  

git pop // 返回工作現場  

git stash list //檢視 stash 佇列  

git stash pop stash@   

// num就是list中要恢復的工作現場編號  

// 使用pop命令恢復的工作現場,其對應的stash 在佇列中刪除  

git stash clear // 情況 stash 佇列  

七、分支合併

分支合併:

保持工作目錄 clean  

git checkout master  //切換到主幹  

git merge subscribeqy  //在主幹上合併分支  如果有衝突就解決一下  

master push前,在分支上merge master  然後,在master上,merge 分支,在 push  

八、其他

$ git fetch 《遠端主機名》 《分支名》  

git fetch origin master  取回origin主機的master分支  

常用命令 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...