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)前分支,命令會(huì)列出所有分支,當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號(hào)
4 git add . 把文件添加進(jìn)去,實(shí)際上就是把文件修改添加到暫存區(qū);
5 git commit -m 提交更改,實(shí)際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支。
6 git merge dev 用于合并指定分支到當(dāng)前分支
解決沖突就是把Git合并失敗的文件手動(dòng)編輯為我們希望的內(nèi)容,再提交。用git log --graph命令可以看到分支合并圖。7 git stash 可以把當(dāng)前工作現(xiàn)場(chǎng)“儲(chǔ)藏”起來(lái),等以后恢復(fù)現(xiàn)場(chǎng)后繼續(xù)工作.
剛才的工作現(xiàn)場(chǎng)存到哪去了?用git stash list命令看看,工作現(xiàn)場(chǎng)還在,Git把stash內(nèi)容存在某個(gè)地方了,但是需要恢復(fù)一下,有兩個(gè)辦法:一是用git stash apply恢復(fù),但是恢復(fù)后,stash內(nèi)容并不刪除,你需要用git stash drop來(lái)刪除;另一種方式是用git stash pop,恢復(fù)的同時(shí)把stash內(nèi)容也刪了,你可以多次stash,恢復(fù)的時(shí)候,先用git stash list查看,然后恢復(fù)指定的stash,用命令git stash apply stash@{0}8 git branch -d dev 刪除dev分支
git branch -D <name>強(qiáng)行刪除9 git remote 查看遠(yuǎn)程庫(kù)的信息,或者,用git remote -v顯示更詳細(xì)的信息
10 git push origin master 推送分支,就是把該分支上的所有本地提交推送到遠(yuǎn)程庫(kù)。推送時(shí),要指定本地分支,這樣,Git就會(huì)把該分支推送到遠(yuǎn)程庫(kù)對(duì)應(yīng)的遠(yuǎn)程分支上
11 git rebase rebase操作可以把本地未push的分叉提交歷史整理成直線;rebase的目的是使得我們?cè)诓榭礆v史提交的變化時(shí)更容易,因?yàn)榉植娴奶峤恍枰綄?duì)比.
12 敲命令git tag <name>就可以打一個(gè)新標(biāo)簽,可以用命令git tag查看所有標(biāo)簽
注意,標(biāo)簽不是按時(shí)間順序列出,而是按字母排序的??梢杂胓it show <tagname>查看標(biāo)簽信息,還可以創(chuàng)建帶有說(shuō)明的標(biāo)簽,用-a指定標(biāo)簽名,-m指定說(shuō)明文字;注意:標(biāo)簽總是和某個(gè)commit掛鉤。如果這個(gè)commit既出現(xiàn)在master分支,又出現(xiàn)在dev分支,那么在這兩個(gè)分支上都可以看到這個(gè)標(biāo)簽。13 命令git push origin <tagname>可以推送一個(gè)本地標(biāo)簽;命令git push origin --tags可以推送全部未推送過(guò)的本地標(biāo)簽;命令git tag -d <tagname>可以刪除一個(gè)本地標(biāo)簽;命令git push origin :refs/tags/<tagname>可以刪除一個(gè)遠(yuǎn)程標(biāo)簽。
14 git log 可以查看提交歷史,以便確定要回退到哪個(gè)版本
15 git reflog 查看命令歷史,以便確定要回到未來(lái)的哪個(gè)版本
16 git reset --hard head^ 或者 git reset --hard head~1 命令既可以回退版本,也可以把暫存區(qū)的修改回退到工作區(qū)。當(dāng)我們用HEAD時(shí),表示最新的版本。
17 git diff HEAD -- 文件名 命令可以查看工作區(qū)和版本庫(kù)里面最新版本的區(qū)別
18 git checkout -- readme.txt意思就是,把readme.txt文件在工作區(qū)的修改全部撤銷,這里有兩種情況:一種是readme.txt自修改后還沒(méi)有被放到暫存區(qū),現(xiàn)在,撤銷修改就回到和版本庫(kù)一模一樣的狀態(tài);一種是readme.txt已經(jīng)添加到暫存區(qū)后,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)。git checkout -- file命令中的--很重要,沒(méi)有--,就變成了“切換到另一個(gè)分支”的命令。
19 git rm用于刪除一個(gè)文件。如果一個(gè)文件已經(jīng)被提交到版本庫(kù),那么你永遠(yuǎn)不用擔(dān)心誤刪,但是要小心,你只能恢復(fù)文件到最新版本,你會(huì)丟失最近一次提交后你修改的內(nèi)容。
20 git remote add origin git@github.com:makerroot/*.git把一個(gè)已有的本地倉(cāng)庫(kù)與之關(guān)聯(lián),添加后,遠(yuǎn)程庫(kù)的名字就是origin,這是Git默認(rèn)的叫法,也可以改成別的,但是origin這個(gè)名字一看就知道是遠(yuǎn)程庫(kù)。
21 git push -u origin master 把本地庫(kù)的所有內(nèi)容推送到遠(yuǎn)程庫(kù)上,把本地庫(kù)的內(nèi)容推送到遠(yuǎn)程,用git push命令,實(shí)際上是把當(dāng)前分支master推送到遠(yuǎn)程。由于遠(yuǎn)程庫(kù)是空的,我們第一次推送master分支時(shí),加上了-u參數(shù),Git不但會(huì)把本地的master分支內(nèi)容推送的遠(yuǎn)程新的master分支,還會(huì)把本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來(lái),在以后的推送或者拉取時(shí)就可以簡(jiǎn)化命令。
22 從現(xiàn)在起,只要本地作了提交,就可以通過(guò)命令 git push origin master把本地master分支的最新修改推送至GitHub,現(xiàn)在,你就擁有了真正的分布式版本庫(kù).
23 git clone git@github.com:makerroot/*.git 克隆一個(gè)本地庫(kù).
創(chuàng)建密鑰
打開Shell(Windows下打開Git Bash),創(chuàng)建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"