Git 命令學(xué)習(xí)

最近在看 廖雪峰的 Git 教程 真心推薦,作為開發(fā)都去看下,大概零零散散用了一天時(shí)間吧,把整個(gè)教程看了一遍,跟這個(gè)教程把命令都敲了一遍, 熟悉了下Git的使用 .

以前開發(fā)的時(shí)候只是用 Android Studio 的圖形化界面操作, git commit git pull git push 然后git fetch,git merge 然后就這些圖形化操作也夠用,偶爾合代碼遇到?jīng)_突 一時(shí)無法解決時(shí),就會(huì)找大神幫忙, 大神的命令行看的我也是很是崇拜,
一直想更深入的學(xué)習(xí)git 知識(shí),最近才下定決心去學(xué)習(xí).發(fā)現(xiàn)很簡單呀,教程 循序漸進(jìn),都是平時(shí)常用的那些,夠用了,如果大家有需求,最好跟著教程學(xué)習(xí)下,很快的,可能半天都用不了.最后 把我看到常用的命令放上來,平時(shí)可以溫習(xí)用:

git 常用 命令

  • git status 查看當(dāng)前git 目錄下有無改動(dòng)內(nèi)容

  • git add readme.txt 先把改動(dòng)的文件add 進(jìn)去

  • git commit -m "注釋內(nèi)容" commit 加備注

  • git log --pretty=oneline 列出 最近的 提交記錄 --pretty=oneline是為了一行顯示,好看

  • git reset --hard HEAD 版本回退到 HEAD 表示當(dāng)前版本 HEAD~1上一個(gè)版本 以此類推

  • git reset --hard 1c755d 版本回退到某個(gè)版本,后面長串是 commitId 這個(gè) commitId 可以不用寫全,它自己會(huì)去找

  • cat readme.txt 顯示了文件內(nèi)容

  • git reflog 用來記錄你的每一次命令

  • git checkout -- file 尚未add 的修改內(nèi)容,全部撤銷

  • git reset HEAD file 如果已經(jīng)add了但是沒有commit 可以使用這個(gè)命令 把暫存區(qū)的修改回退到工作區(qū)。當(dāng)我們用HEAD時(shí),表示最新的版本。

  • rm file 刪除文件 然后 git rm file 然后 git commit -m " 備注 " 從版本庫中刪除

  • push an existing repository from the command line

  • git remote add origin https://github.com/XXXXXXXX/learngit.git 要關(guān)聯(lián)一個(gè)遠(yuǎn)程庫,使用命令 添加遠(yuǎn)程倉庫 名字叫 origin

  • git push -u origin master 第一次推送master分支的所有內(nèi)容;

  • git push origin master. 后面修改內(nèi)容后 把代碼從本地推到 遠(yuǎn)程倉庫

  • git clone git@github.com:michaelliao/gitskills.git 從遠(yuǎn)程倉庫克隆代碼

  • git checkout -b dev 創(chuàng)建 分支 名字叫 dev 并切換到 dev

-b參數(shù)表示創(chuàng)建并切換 相當(dāng)于 git branch dev 然后 git checkout dev 創(chuàng)建后切換

  • git branch 查看當(dāng)前分支 命令會(huì)列出所有分支,當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號(hào)。

  • git checkout master 切換到主干上

  • git merge dev 命令用于合并指定分支到當(dāng)前分支 當(dāng)前在master 分支上,就把dev 分支上的代碼合并到master上

  • git branch -d dev 刪除分支

  • merge 后 如果沖突 ,解決沖突, 接著執(zhí)行 add commit

  • git log --graph 看到分支合并圖

  • git log --graph --pretty=oneline --abbrev-commit 以路徑的形式展示各個(gè)分支的愛恨情仇

  • git merge --no-ff -m "merge with no-ff" dev --no-ff參數(shù),表示禁用Fast forward

  • git stash 可以把當(dāng)前工作現(xiàn)場(chǎng)“儲(chǔ)藏”起來,等以后恢復(fù)現(xiàn)場(chǎng)后繼續(xù)工作

  • git stash list 查看還存在哪些 保存起來的現(xiàn)場(chǎng)

  • git stash apply 恢復(fù),但是恢復(fù)后,stash內(nèi)容并不刪除 你需要用git stash drop來刪除

  • git stash pop 恢復(fù)的同時(shí)把stash內(nèi)容也刪了

  • git stash apply stash@{0} 恢復(fù)的時(shí)候,先用git stash list查看,然后恢復(fù)指定的stash

用普通模式合并,合并后的歷史有分支,能看出來曾經(jīng)做過合并,而fast forward合并就看不出來曾經(jīng)做過合并

  • git branch -d xxbranch 刪除某個(gè)分支,如果已經(jīng)commit

  • git branch -D xxbranch 強(qiáng)行刪除 分支

  • git tag v1.0 增加tag

  • git tag 查看所有標(biāo)簽

  • git tag v0.9 6224937 后面這個(gè)是commitId 可以直接打tag

  • git tag -a v0.1 -m "version 0.1 released" 3628164 打tag -a 后面是版本號(hào) -m 是備注 ,后面是commitid

  • git tag -d v0.1 tag 打錯(cuò)了,可以刪掉

  • git push origin <tagname> 要推送某個(gè)標(biāo)簽到遠(yuǎn)程,使用命令

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

  • git tag -d v0.9 如果標(biāo)簽已經(jīng)推送到遠(yuǎn)程,要?jiǎng)h除遠(yuǎn)程標(biāo)簽就麻煩一點(diǎn),先從本地刪除:

  • git push origin :refs/tags/v0.9 然后,從遠(yuǎn)程刪除。刪除命令也是push,

?著作權(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),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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