最近在看 廖雪峰的 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,