通過對(duì)廖雪峰的git教程學(xué)習(xí)做出的摘要
1.git init 創(chuàng)建版本庫
git add () 告訴Git富俄,把文件添加到倉庫(注意,可反復(fù)多次使用驾孔,添加多個(gè)文件)
git commit 【-m (“ ”)】告訴Git哼勇,把文件提交到倉庫
git status 隨時(shí)掌握工作區(qū)的狀態(tài)
git diff 可以查看修改內(nèi)容
git reset --hard commit_id 可以返回commit_id的版本
git log 可以查看提交歷史,以便確定要回退到哪個(gè)版本
git relog 查看命令歷史最欠,以便確定要回到未來的哪個(gè)版本
2.工作區(qū)示罗,暫存區(qū),版本庫概念
每次修改芝硬,如果不add到暫存區(qū)蚜点,那就不會(huì)加入到commit中
git checkout -- file
自修改后還沒有被放到暫存區(qū),現(xiàn)在拌阴,撤銷修改就回到和版本庫一模一樣的狀態(tài)
已經(jīng)添加到暫存區(qū)后绍绘,又作了修改,現(xiàn)在,撤銷修改就回到添加到暫存區(qū)后的狀態(tài)陪拘。
git reset 既可以回退版本厂镇,也可以把暫存區(qū)的修改回退到工作區(qū)
git reset HEAD file 可以把暫存區(qū)的修改撤銷掉(unstage),重新放回工作區(qū)
場景1:當(dāng)你改亂了工作區(qū)某個(gè)文件的內(nèi)容左刽,想直接丟棄工作區(qū)的修改時(shí)捺信,用命令git checkout -- file
場景2:當(dāng)你不但改亂了工作區(qū)某個(gè)文件的內(nèi)容,還添加到了暫存區(qū)時(shí)欠痴,想丟棄修改迄靠,分兩步,第一步用命令git reset HEAD file喇辽,就回到了場景1梨水,第二步按場景1操作。
場景3:已經(jīng)提交了不合適的修改到版本庫時(shí)茵臭,想要撤銷本次提交疫诽,參考版本回退一節(jié),不過前提是沒有推送到遠(yuǎn)程庫旦委。
git rm file 從版本庫中刪除該文件
git checkout -- file 如果誤刪了奇徒,把版本庫里文件恢復(fù)過來
3.遠(yuǎn)程庫
git remote add origin git@server-name:path/repo-name.git 要關(guān)聯(lián)一個(gè)遠(yuǎn)程庫
關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容
每次本地提交后缨硝,只要有必要摩钙,就可以使用命令git push origin master推送最新修改
要克隆一個(gè)倉庫,首先必須知道倉庫的地址查辩,然后使用git clone命令克隆胖笛。
Git支持多種協(xié)議,包括https宜岛,但通過ssh支持的原生git協(xié)議速度最快
https:https://github.com/liang233/gitskills.git
ssh:git@github.com:liang233/gitskills.git
4.分支管理
git checkout -b dev 創(chuàng)建dev分支长踊,然后切換到dev分支,相當(dāng)于兩個(gè)命令:git branch dev萍倡,git checkout dev
git branch 會(huì)列出所有分支身弊,當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號(hào)
創(chuàng)建分支:git branch <name>
切換分支:git checkout <name>
創(chuàng)建+切換分支:git checkout -b <name>
合并某分支到當(dāng)前分支:git merge <name>
刪除分支:git branch -d <name>