Git常用命令集合
刻意練習
現(xiàn)代的ide里面都集成了很多Git
,Maven
的操作命令,讓開發(fā)者點一點就很容易執(zhí)行一些用命令執(zhí)行起來很麻煩的操作,使用起來非常方便.但如果不了解背后的命令,我們很難做到精通使用,過于依賴現(xiàn)代ide里面提供的功能.我也是遇到了一些問題后才開始慢慢覺得只在頁面上點點點的操作的弊端,現(xiàn)在我能用命令的操作Git
,maven
,不再用idea里面提供的點點點的功能.直到所有命令都爛熟于心的時候我再點點點.下面是一些我用過的Git
操作命令,有些復雜,有些簡單,希望看過能對你們的工作有所益處.
如何刪除一些之前沒有加.ingore時候提交的一些垃圾文件
在上傳工程到git上時,有時候會把本地的一些eclipse,idea配置文件傳到服務器上荠商,這時你先刪除本地靴拱,再同步服務器,顯然是不合理的奕筐。git提供了一個好的解決方法脑沿,可以直接刪除服務器文件,同時不影響本地文件臭胜,命令如下
git rm --cached filename/-r directory
git commit "xxxx"
git push
- 刪除服務器<u>文件</u>,本地保留
git rm --cached useless.log
git commit -m "remove file from remote repository"
git push
- 刪除遠程useless <u>文件夾</u>,本地保留
一定要注意,刪除文件夾要使用-r 參數(shù)
相比文件只是多了一個'-r', '-r'是‘-recursive’的意思癞尚,就是遞歸地耸三。
git rm --cached -r useless
git commit -m "remove directory from remote repository"
git push
其他Git常用命令
-
初始化倉庫
git init
-
將文件添加到倉庫
git add test.txt # 將工作區(qū)的某個文件添加到暫存區(qū) git add . # 將當前工作區(qū)的所有文件都加入暫存區(qū)
-
將暫存區(qū)文件提交到本地倉庫
git commit -m "提交說明" # 將暫存區(qū)內(nèi)容提交到本地倉庫 git commit -a -m "提交說明" # 跳過緩存區(qū)操作,直接把工作區(qū)內(nèi)容提交到本地倉庫
-
查看倉庫當前狀態(tài)
git status
-
查看歷史記錄
git log #查看所有commit記錄(SHA-A校驗和浇揩,作者名稱仪壮,郵箱,提交時間胳徽,提交說明) git log -p -次數(shù) # 查看最近多少次的提交記錄 git log --stat # 簡略顯示每次提交的內(nèi)容更改 git log --name-only # 僅顯示已修改的文件清單 git log --name-status # 顯示新增积锅,修改,刪除的文件清單 git log --oneline # 讓提交記錄以精簡的一行輸出
-
代碼回滾
git reset HEAD^ # 恢復成上次提交的版本 git reset HEAD^^ # 恢復成上上次提交的版本养盗,就是多個^缚陷,以此類推或用~次數(shù) git reflog git reset --hard 版本號 --soft:只是改變HEAD指針指向,緩存區(qū)和工作區(qū)不變往核; --mixed:修改HEAD指針指向箫爷,暫存區(qū)內(nèi)容丟失,工作區(qū)不變聂儒; --hard:修改HEAD指針指向虎锚,暫存區(qū)內(nèi)容丟失,工作區(qū)恢復以前狀態(tài)衩婚;
-
同步遠程倉庫
git push -u origin master
-
刪除版本庫文件
git rm 文件名
-
從遠程倉庫克隆項目到本地
git clone git@github.com:git帳號名/倉庫名.git
-
創(chuàng)建分支
git checkout -b dev # -b表示創(chuàng)建并切換分支
-
合并分支
git merge dev #用于合并指定分支到當前分支 git merge --no-ff -m "merge with no-ff" dev # 加上--no-ff參數(shù)就可以用普通模式合并窜护,合并后的歷史有分支,能看出來曾經(jīng)做過合并
-
刪除分支
git branch -d dev git push origin --delete test
-
查看分支合并圖
git log --graph --pretty=oneline --abbrev-commit
-
查看遠程庫信息
git remote -v
-
git相關配置
# 安裝完Git后第一件要做的事谅猾,設置用戶信息(global可換成local在單獨項目生效): git config --global user.name "用戶名" # 設置用戶名 git config --global user.email "用戶郵箱" #設置郵箱 git config --global user.name # 查看用戶名是否配置成功 git config --global user.email # 查看郵箱是否配置
-
撤消某次提交
git revert HEAD # 撤銷最近的一個提交 git revert 版本號 # 撤銷某次commit
-
拉取遠程分支到本地倉庫
git checkout -b 本地分支 遠程分支 # 會在本地新建分支柄慰,并自動切換到該分支 git fetch origin 遠程分支:本地分支 # 會在本地新建分支,但不會自動切換税娜,還需checkout git branch --set-upstream 本地分支 遠程分支 # 建立本地分支與遠程分支的鏈接
-
刷新遠端分支列表
git remote update origin --prune
更新操作
刪除項目下遠端分支的*.iml
或者*.project
的文件
find . -name "*.iml" | xargs git rm --cached
find . -name "*.project" | xargs git rm --cached
git commit -m "remove directory from remote repository"
git push
例:刪除/home/raven下坐搔,包括子目錄里所有名為abc.txt的文件:
find /home/raven -name abc.txt|xgrgs rm -rf