git常用命令
1 git init 初始化
2 git checkout -b dev 創(chuàng)建dev分支是偷,然后切換到dev分支;
git checkout命令加上-b參數(shù)表示創(chuàng)建并切換赊锚,相當(dāng)于以下兩條命令:git branch dev ,git checkout dev3 git branch 用git branch命令查看當(dāng)前分支,命令會列出所有分支确徙,當(dāng)前分支前面會標(biāo)一個*號
4 git add . 把文件添加進去渗柿,實際上就是把文件修改添加到暫存區(qū)嘹屯;
5 git commit -m 提交更改肛走,實際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支焚志。
6 git merge dev 用于合并指定分支到當(dāng)前分支
解決沖突就是把Git合并失敗的文件手動編輯為我們希望的內(nèi)容映凳,再提交胆筒。用git log --graph命令可以看到分支合并圖。7 git stash 可以把當(dāng)前工作現(xiàn)場“儲藏”起來诈豌,等以后恢復(fù)現(xiàn)場后繼續(xù)工作.
剛才的工作現(xiàn)場存到哪去了仆救?用git stash list命令看看,工作現(xiàn)場還在,Git把stash內(nèi)容存在某個地方了矫渔,但是需要恢復(fù)一下派桩,有兩個辦法:一是用git stash apply恢復(fù),但是恢復(fù)后蚌斩,stash內(nèi)容并不刪除铆惑,你需要用git stash drop來刪除范嘱;另一種方式是用git stash pop,恢復(fù)的同時把stash內(nèi)容也刪了,你可以多次stash员魏,恢復(fù)的時候丑蛤,先用git stash list查看,然后恢復(fù)指定的stash撕阎,用命令git stash apply stash@{0}8 git branch -d dev 刪除dev分支
git branch -D <name>強行刪除9 git remote 查看遠程庫的信息,或者受裹,用git remote -v顯示更詳細的信息
10 git push origin master 推送分支,就是把該分支上的所有本地提交推送到遠程庫虏束。推送時棉饶,要指定本地分支,這樣镇匀,Git就會把該分支推送到遠程庫對應(yīng)的遠程分支上
11 git rebase rebase操作可以把本地未push的分叉提交歷史整理成直線照藻;rebase的目的是使得我們在查看歷史提交的變化時更容易,因為分叉的提交需要三方對比.
12 敲命令git tag <name>就可以打一個新標(biāo)簽,可以用命令git tag查看所有標(biāo)簽
注意汗侵,標(biāo)簽不是按時間順序列出幸缕,而是按字母排序的∥希可以用git show <tagname>查看標(biāo)簽信息,還可以創(chuàng)建帶有說明的標(biāo)簽发乔,用-a指定標(biāo)簽名,-m指定說明文字;注意:標(biāo)簽總是和某個commit掛鉤雪猪。如果這個commit既出現(xiàn)在master分支栏尚,又出現(xiàn)在dev分支,那么在這兩個分支上都可以看到這個標(biāo)簽只恨。13 命令git push origin <tagname>可以推送一個本地標(biāo)簽译仗;命令git push origin --tags可以推送全部未推送過的本地標(biāo)簽;命令git tag -d <tagname>可以刪除一個本地標(biāo)簽坤次;命令git push origin :refs/tags/<tagname>可以刪除一個遠程標(biāo)簽。
14 git log 可以查看提交歷史斥赋,以便確定要回退到哪個版本
15 git reflog 查看命令歷史缰猴,以便確定要回到未來的哪個版本
16 git reset --hard head^ 或者 git reset --hard head~1 命令既可以回退版本,也可以把暫存區(qū)的修改回退到工作區(qū)疤剑。當(dāng)我們用HEAD時滑绒,表示最新的版本。
17 git diff HEAD -- 文件名 命令可以查看工作區(qū)和版本庫里面最新版本的區(qū)別
18 git checkout -- readme.txt意思就是隘膘,把readme.txt文件在工作區(qū)的修改全部撤銷疑故,這里有兩種情況:一種是readme.txt自修改后還沒有被放到暫存區(qū),現(xiàn)在弯菊,撤銷修改就回到和版本庫一模一樣的狀態(tài)纵势;一種是readme.txt已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在钦铁,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)软舌。git checkout -- file命令中的--很重要,沒有--牛曹,就變成了“切換到另一個分支”的命令佛点。
19 git rm用于刪除一個文件。如果一個文件已經(jīng)被提交到版本庫黎比,那么你永遠不用擔(dān)心誤刪超营,但是要小心,你只能恢復(fù)文件到最新版本阅虫,你會丟失最近一次提交后你修改的內(nèi)容演闭。
20 git remote add origin git@github.com:makerroot/*.git把一個已有的本地倉庫與之關(guān)聯(lián),添加后,遠程庫的名字就是origin书妻,這是Git默認(rèn)的叫法船响,也可以改成別的,但是origin這個名字一看就知道是遠程庫躲履。
21 git push -u origin master 把本地庫的所有內(nèi)容推送到遠程庫上,把本地庫的內(nèi)容推送到遠程见间,用git push命令,實際上是把當(dāng)前分支master推送到遠程工猜。由于遠程庫是空的米诉,我們第一次推送master分支時,加上了-u參數(shù)篷帅,Git不但會把本地的master分支內(nèi)容推送的遠程新的master分支史侣,還會把本地的master分支和遠程的master分支關(guān)聯(lián)起來,在以后的推送或者拉取時就可以簡化命令魏身。
22 從現(xiàn)在起惊橱,只要本地作了提交,就可以通過命令 git push origin master把本地master分支的最新修改推送至GitHub箭昵,現(xiàn)在税朴,你就擁有了真正的分布式版本庫.
23 git clone git@github.com:makerroot/*.git 克隆一個本地庫.
創(chuàng)建密鑰
打開Shell(Windows下打開Git Bash),創(chuàng)建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"