git基礎(chǔ)命令
git clone remote-address,克隆目標(biāo)源碼(可以選擇克隆ssh或http兩種方式)
git clone remote-address new-project 自定義項(xiàng)目名字
git status?查看暫存區(qū)狀態(tài),可以查看本地修改了那些內(nèi)容,并且也可以查看到提交的信息及狀態(tài)?
git diff test 查看test分支修改的內(nèi)容(如果直接git diff 則查看全部修改的內(nèi)容)
git branch 查看本地分支
git banch test 新建test分支
git branch -d test 刪除test分支
git branch -D test 強(qiáng)制刪除某分支(分支未被合并的情況下)
git checkout test 切換到test分支(如果本地沒(méi)有的話鲜结,就去遠(yuǎn)程倉(cāng)庫(kù)去尋找test分支)
git checkout -b test 新建一個(gè)test分支并切換到test分支
git remote 查看倉(cāng)庫(kù)
git config -l 查看git配置
git config -e 修改git配置
git add test.txt 添加test.txt文件迟郎,如果改為“.”則全部提交
如果git add test.txt后發(fā)現(xiàn)不想提交test.txt文件了則可以git reset HEAD test.txt把test.txt文件從暫存區(qū)取出來(lái)
git commit test.txt -m 'update_test' 提交test.txt(如果改為“.”則全部提交)坎弯,并打上備注“update_test”
git push origin branch:branch? 其中origin表示遠(yuǎn)程倉(cāng)庫(kù)的地址(origin表示默認(rèn)的遠(yuǎn)程倉(cāng)庫(kù)地址)第一個(gè)branch表示本地的branch第二個(gè)表示要推送到遠(yuǎn)程的branch里面去?如果寫(xiě)為git push origin? :branch 則表示將一個(gè)空的東西推送過(guò)去厦坛,也就是刪除遠(yuǎn)程的branch分支。
git pull 表示下載并合并到本地是git fecth 和 git merge 的合體
如果 git pull 后想在以前的分支上面繼續(xù)工作睬棚,則在以前的分支下面使用git merge master(其中要在master分支下面git pull)
git log 查看git日志
如果git commit后悔了后則可以git log 查看log里面想要恢復(fù)到那個(gè)狀態(tài)鏈接第煮,git reset (接上對(duì)應(yīng)的鏈接)
如果遇到特殊情況,比如我今天修改了一些文件commit了之后抑党,第二天突然發(fā)現(xiàn)昨天的代碼有問(wèn)題包警,可是我仍然在該分支上面做了一些修改,并且已經(jīng)commit了底靠,也就是說(shuō)揽趾,我并不想要昨天修改的代碼提交上去,只希望今天修改的代碼提交上去苛骨,此時(shí)我們就需要用到git cherry-pick命令篱瞎。過(guò)程是:1.git log 找到不想提交的請(qǐng)求的前面一個(gè)歷史記錄(也就是把這個(gè)歷史記錄當(dāng)做基礎(chǔ)副本)。2.git reset 剛才的歷史記錄(回到這個(gè)基礎(chǔ)上此時(shí)就是相當(dāng)于你什么都沒(méi)做)痒芝。3.git log 再在日志中找到你想提交的歷史記錄并復(fù)制俐筋。4.git cherry-pick 歷史記錄 。此時(shí)不想提交的那些代碼就不會(huì)出現(xiàn)在工作空間里面了严衬。cherry-pick 的命令只會(huì)恢復(fù)你reset對(duì)應(yīng)的歷史記錄提交時(shí)候的那一部分代碼澄者,并不會(huì)全部恢復(fù)。
當(dāng)你在本地做了一些修改请琳,并且向pull時(shí)粱挡,git會(huì)提示你請(qǐng)先提交合并才能pull,但是有時(shí)我們并不想合并這些代碼俄精,此時(shí)怎么辦呢询筏,那么git stash就可以了 他可以暫存到一個(gè)緩沖區(qū) 。git stash pop 可以從緩沖區(qū)拿出我們stash進(jìn)去的文件