git中常用的操作命令有哪些?本篇文章就給到大家歸納了一些git中常用操作命令。有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
git開始
全局配置:配置用戶名和e-mail地址
$?git?config?--global?user.name"Your?Name" $?git?config?--global?user.email"email@example.com"
git init:初始化git倉庫,目錄下生成一個.git文件
git init
git add 文件名:將文件修改添加到倉庫
git add readme.txt //修改單個文件
git add . // 將所有修改的文件添加到暫存區
git commit -m ‘說明’:將文件提交到倉庫
$ git commit -m "wrote a readme file"
git status:查看當前倉庫的狀態,掌握工作區的狀態
git diff readme.txt: 查看文件修改的內容
版本回退
git log:查看歷史記錄
git log –pretty=oneline: 只查看commit.id(版本號) 和 說明
git reset –hard HEAD^: 回退到上一個版本? HEAD表示當前版本,上一個是HEAD^,往上一百個是HEAD~100
git reset –hard commit.id: 回到指定版本號對應的版本
git reset --hard 1049a
git reflog:用來記錄你的每一個命令,以便確定回到哪個版本
幾個概念
工作區(Working Directory):在電腦里的進行git操作的目錄
版本庫(Repository):工作區里的.git文件,就是版本庫,git版本庫里最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自動創建的第一個分支master,以及指向master的一個指針叫HEAD。
把文件往Git版本庫里添加的時候,是分兩步執行的:
第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區;
第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。
撤銷修改
撤銷分為三種情況:
第一種是readme.txt自修改后還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;(no add) —>? ?git checkout — file
第二種是readme.txt已經添加到暫存區后,又作了修改,現在,撤銷修改就回到添加到暫存區后的狀態。(no commit)—> git reset head file
第三種是readme.txt已經commit了,就使用版本回退即可 —> git reset –hard head^
1、git checkout — readme.txt:將制定文件在工作區的修改全部撤銷
注意:命令中的–很重要,沒有–,就變成了“切換到另一個分支”的命令
2、git reset:既可以回退版本,也可以把暫存區的修改回退到工作區
在第二種情況下,我們就可以使用git reset命令撤回工作區
git reset head readme.txt // head表示當前版本
撤回工作區后再使用git checkout命令從工作區撤回
刪除文件
git rm file:從版本庫中刪除文件
誤刪的情況下可以使用版本庫的版本’一鍵還原‘
git checkout -- test.txt
遠程倉庫
git remote add origin github倉庫地址:將本地倉庫與遠程倉庫關聯
git push -u origin master:?由于遠程庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令。
git push origin master: 將本地master分支的修改推送到遠程倉庫
git clone github倉庫地址:將遠程倉庫克隆到本地
分支管理
git branch dev:創建dev分支
git checkout dev :切換dev分支
git checkout -b dev:創建dev分支,并切換到dev分支。 -b參數表示創建并切換到dev分支
git branch: 查看所有分支, *表示當前分支
git merge dev: 合并指定分支到當前分支 。 結果中Fast-forward信息表示‘快進模式’ –>直接把master指向dev的當前提交,合并速度非常快
git merge –no-ff -m ‘描述內容’ dev :–no-ff參數表示禁用Fast-forward,使用普通模式
git branch -d dev: 刪除dev分支
git branch -D dev: 如果分支還沒合并,使用-d無法刪除,使用-D強制刪除
git log –graph: 可以查看分支合并圖。
git log –graph? –pretty=oneline –abbrev-commit? :–pertty=oneline 查看簡短信息? ?–abbrev-commit: 查看commit縮寫
場景:修復bug時創建分支
git stash: 將當前工作現場存儲起來
git stash list :查看存儲的工作現場列表
git stash pop:恢復工作現場并刪除stash的內容
git remote: 查看遠程倉庫的信息
git remote -v: 查看origin的地址
git checkout -b dev origin/dev:在本地創建和遠程分支對應的分支
git pull:抓取最新的遠程提交
git branch –set-upstream-to=origin/dev dev: 建立本地分支和遠程分支的關聯
git rebse:?把本地未push的分叉提交歷史整理成直線
標簽管理
git tag
git tag: 用于查看所有標簽
git tag -a
git tag -d
git push origin
git push origin –tags: 推送全部未推送的本地標簽到遠程
git push origin :refs/tags/
自定義git
git config –global alias.’自定義簡寫指令’ ‘被簡寫的指令’
git?config?--global?alias.st?statusgit?config?--global?alias.co?checkout
命令行命令
cat readme.txt: 查看文件內容
rm file 刪除文件
vi file: linux里的vi編輯器?
(1)通過i鍵進入插入模式,可以修改文件?
(2)通過Esc鍵進入命令模式? ?輸入’:wq!’ –>保存+退出vi? ? 輸入’:q!’ –>不保存退出