git的常用命令總結(jié)

一、本地倉庫

1、git init

創(chuàng)建git空倉庫

2、git add <file>

添加文件到暫存區(qū)

3、git commit -m "提交的描述"

提交暫存區(qū)的內(nèi)容到工作區(qū)

4、git log? ? git log --pretty=oneline (格式化查看log日志)? ?

查看提交的日志

5、git reset --hard HEAD^? ? ? git reset --hard 提交的id

回退到上一個(gè)版本(工作區(qū)和版本庫一起修改)

6、git reflog

如果回退到上個(gè)版本后悔了,可以繼續(xù)使用這個(gè)reflog查看之前的版本在選擇回退到哪個(gè)版本

7、git add命令實(shí)際上就是把要提交的所有修改放到暫存區(qū)(Stage),然后,執(zhí)行g(shù)it commit就可以一次性把暫存區(qū)的所有修改提交到分支

8、git diff HEAD -- <file>

查看工作區(qū)和版本庫里面最新版本的區(qū)別

9、git checkout -- <file>

兩種情況:

①:在工作區(qū)修改的內(nèi)容還沒有add到暫存區(qū),執(zhí)行后會(huì)回到與版本庫中的一模一樣的狀態(tài)

②:已經(jīng)把工作區(qū)的內(nèi)容add到暫存區(qū)后,再次修改工作區(qū)的內(nèi)容,執(zhí)行后會(huì)保持已經(jīng)添加到暫存區(qū)的狀態(tài)

10、git reset HEAD <file>

可以把暫存區(qū)的修改撤銷掉(unstage),重新放回工作區(qū)。

11、git rm <file>

刪除工作區(qū)和暫緩區(qū)的文件

二、遠(yuǎn)程倉庫

1、git remote add origin 地址

關(guān)聯(lián)遠(yuǎn)程倉庫

2、git push -u origin master

第一次把本地內(nèi)容推送到遠(yuǎn)程倉庫

3、git push origin maste

把本地master分支的最新修改推送至遠(yuǎn)程倉庫(github)

4、 git clone 地址

如果想拷貝github上的項(xiàng)目用上面的命令(克隆下來以后只能看到master分支)

5、git remote

查看遠(yuǎn)程倉庫信息(當(dāng)你從遠(yuǎn)程倉庫克隆時(shí),實(shí)際上Git自動(dòng)把本地的master分支和遠(yuǎn)程的master分支對(duì)應(yīng)起來了,并且,遠(yuǎn)程倉庫的默認(rèn)名稱是origin)

6、git remote -v

顯示更詳細(xì)的信息

7、git push origin <分支名>

這是分支的推送,可以把本地的分支推送到遠(yuǎn)程倉庫中的分支

8、git checkout -b dev origin/dev

當(dāng)你clone了一個(gè)項(xiàng)目之后是查看不到除了master以外的分支,所以需要用以上代碼創(chuàng)建并切換分支

9、git branch --set-upstream-to=origin/dev dev

關(guān)聯(lián)本地分支與遠(yuǎn)程分支,這樣就能采取git pull命令拉取遠(yuǎn)程倉庫的最新代碼(可能會(huì)有沖突)

10、git pull(git pull origin dev)

拉取分支代碼(在拉取之前可以用git diff進(jìn)行查看,避免沖突)

三、分支管理

1、git checkout -b <分支名>

git checkout命令加上-b參數(shù)表示創(chuàng)建并切換,相當(dāng)于以下兩條命令:

$ git branch <分支名>

$ git checkout <分支名>

2、git branch

查看當(dāng)前的分支

3、git checkout master

切換分支,工作區(qū)的內(nèi)容也跟著一起切換。

4、git merge <分支名>

合并分支

5、git branch -d <分支名>

合并之后刪除分支

6、git log --graph --pretty=oneline --abbrev-commit

分支有沖突時(shí)查看分支情況

7、git merge --no-ff -m "merge with no-ff" dev

分支管理策略:因?yàn)楸敬魏喜⒁獎(jiǎng)?chuàng)建一個(gè)新的commit,所以加上-m參數(shù),把commit描述寫進(jìn)去。

合并分支時(shí),加上--no-ff參數(shù)就可以用普通模式合并,合并后的歷史有分支,能看出來曾經(jīng)做過合并,而fast forward合并就看不出來曾經(jīng)做過合并。

8、git stash

保存當(dāng)前分支的工作現(xiàn)場(chǎng),可以去修改著急的bug分支

9、git stash list

查看有多少個(gè)stash

10、git stash pop

恢復(fù)工作現(xiàn)場(chǎng)同時(shí)把stash刪除掉 (git stash apply 恢復(fù),但是恢復(fù)后,stash內(nèi)容并不刪除,你需要用git stash drop來刪除;)

11、git stash apply stash@{0}

可以有多次stash,恢復(fù)指定的stash

12、git branch -D <分支名>

開發(fā)新功能時(shí)需要新建個(gè)feature分支,強(qiáng)行刪除分支上的內(nèi)容。

三、標(biāo)簽

1、git tag <tag>

默認(rèn)標(biāo)簽是打在最新提交的commit上的

2、git tag

查看所有標(biāo)簽

3、git tag <tag> commitid

指定commitid打標(biāo)簽

4、git show <tag>

顯示對(duì)應(yīng)標(biāo)簽上提交的信息

5、$ git tag -a <tag> -m "說明" commitid

創(chuàng)建帶有說明的標(biāo)簽,用-a指定標(biāo)簽名,-m指定說明文字

標(biāo)簽總是和某個(gè)commit掛鉤。如果這個(gè)commit既出現(xiàn)在master分支,又出現(xiàn)在dev分支,那么在這兩個(gè)分支上都可以看到這個(gè)標(biāo)簽

6、git tag -d <tag>

刪除標(biāo)簽

7、git push origin <tag>

推送到遠(yuǎn)程標(biāo)簽

8、git push origin --tags

一次性推送全部尚未推送到遠(yuǎn)程的本地標(biāo)簽

9、git tag -d <tagname>

刪除遠(yuǎn)程標(biāo)簽先刪除一個(gè)本地標(biāo)簽,然后在刪除遠(yuǎn)程標(biāo)簽

10、git push origin :refs/tags/<tagname>

刪除遠(yuǎn)程標(biāo)簽

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 安裝Git Git的下載地址:Git官網(wǎng)下載地址 Git本地倉庫和命令 配置用戶 下載完Git后,右鍵會(huì)有一個(gè)Gi...
    TokyoZ閱讀 4,625評(píng)論 1 7
  • Add & Commit git init 初始化一個(gè) Git 倉庫(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 5,125評(píng)論 0 9
  • 常用Git命令總結(jié) git config --global user.name "你的名字" 讓你全部的Git倉庫...
    繁星追逐閱讀 281評(píng)論 0 0
  • 簡(jiǎn)介 ??git有四個(gè)工作區(qū)域,分別是:工作目錄(Workspace)、暫存區(qū)(Index/Stage)、本地倉庫...
    gybguohao閱讀 21,341評(píng)論 4 21
  • 近幾天一直在看知否知否,本來對(duì)它充滿期待,但是小說搬到大熒幕才發(fā)現(xiàn),原來漏洞如此之多。 記得剛剛看知否的小說時(shí),感...
    兩個(gè)胖女孩閱讀 438評(píng)論 0 3

友情鏈接更多精彩內(nèi)容