Git常用命令

git常用命令總結,看完就能進行日常代碼版本控制,這個是第一版,我會經常更新,希望大家收藏一下。

GIT基礎命令

// 配置 
git config 有三個級別分別是 
 1. git config –local(可省略) 針對的是當前倉庫 
 2. git config –global 針對的是當前用戶  
 3. git config –system 針對的是整個個系統
// 所有配置信息
git config --list 

// 設置提交代碼時的用戶信息
git config --global user.name zhangsan
git config --global user.email zhangsan@gmail.com

// 生成ssh key
cd ~/.ssh
ssh-keygen -t rsa -C "[email protected]"
enter enter enger 確定->確定->確定
ls 得到兩個文件:id_rsa和id_rsa.pub
vim id_rsa.pub 內容爲公鑰

// 創建一個a.txt 文件
touch a.txt  
// 把a.txt 提交到緩衝區           
git add a.txt  
// 把a.txt提交到歷史         
git commit a.txt -m "提交的描述"  
// 常看提交狀態
git status     

// 所有本地分支
git branch
// 所有本地+遠程分支        
git branch -a
// 新建一個develop分支,並切換到該分支
git checkout -b develop
// 切換到master分支
git checkout master
// 把develop分支代碼合併到master
git merge develop

// 增加一個新的遠程倉庫,別名爲origin
git remote add origin https://github.com/square/retrofit.git
// 顯示所有遠程倉庫
git remote -v
// 拉取遠程倉庫master分支,並與本地分支合併
git pull origin master
// 拉取遠程倉庫develop分支,並與本地develop分支合併
git pull origin develop:develop
// 上傳本地分支到遠程develop分支
git push origin develop

// 儲藏當前沒有被提交的內容
git stash
// 查看所有儲藏記錄
git stash list
// 恢復到最近的一次改動,並刪除記錄
git stash pop

//  撤銷掉一個提交  
git reset 
// 還原暫存區和工作區 ,分枝引用,和HEAD引用指向當前的commit
git reset --hard HEAD@{5}    
// 還原暫存區 ,分枝引用,和HEAD引用指向當前的commit
git reset --mixed         
// 分枝引用,和HEAD引用指向當前的commit
git reset --soft   

// 把另一個本地分支的commit修改應用到當前分支。
git cherry-pick 704e2ce3

GIT命令進階

// 完整的歷史信息,按q退出
git log    
// 輸出每個commit之間的差異信息
git log -p     
// 輸出每個commit之間的差異統計信息
git log --stat    
// 輸出單行的信息
git log --oneline   
// 以上的信息組合
git log --oneline --stat -p   
// --decorate代表commit引用信息 --graph代表所有信息  --all代表所有分枝
git log --oneline --decorate --graph --all

//  輸出工作區與暫存區的差異
git diff    
// 暫存區跟歷史提交的差異
git diff --cached     
// 當前工作區,與其它歷史提交的某個版本某個文件的比較
git diff HEAD~2 -- master.txt    
// 暫存區與其它歷史區某個版本的比較
git diff --cached HEAD~2    
// 當前歷史與其它歷史的比較 
git diff HEAD HEAD~2   
// 當前歷史與其它歷史的比較,指定某個文件 
git diff HEAD HEAD~2 -- master.txt     
// 顯示工作區與暫存區不同的單詞,用顏色區分
git diff --color-words      
// 顯示工作區與暫存區不同的單詞,標識符區分分
git diff --word-diff     

// 產生一個新的提交來替換當前的提交
git commit --amend   
// 有超強的歷史修改能力,可以幫我們維護一個線性的歷史
git rebase  
// 還原工作區、緩存區到上一個提交的內容,但是指向的是一個新的提交  
git revert HEAD 

// 維護了一個HEAD 引用的歷史信息,通常配合git reset 來使用  
git reflog     
// 輸出近10條的
git reflog -10   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章