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