1.git pull跟git pull origin dev區(qū)別
git pull 用于當前本地分支與遠程已經(jīng)建立了關(guān)聯(lián)分支進行同步 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? git pull origin 用于當本地分支沒有與遠程分支關(guān)聯(lián)的時候進行同步所需用到的
這也是為什么有時候我們git pull 并不能拉取代碼抄瓦,而是要用git pull origin威始。
其實origin是一個名字富蓄,它是在你clone一個托管在Github上代碼庫時眷蚓,git為你默認創(chuàng)建的指向這個遠程代碼庫的標簽。
假設遠端有一個叫dev分支歧强,本地頁創(chuàng)建了一個同名的dev分支澜薄,可以使用git branch --set-upstream-to origin/dev dev命令來創(chuàng)建關(guān)聯(lián),這樣就可以使用git pull 來拉取代碼摊册。
另外git push 與git push origin 的區(qū)別其實是肤京,
git push 用于當前只有一個追蹤分支的時候可以這樣使用,可以用git branch -r 來查看遠程分支列表茅特。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? git push origin dev 將當前分支推送到與其同名的遠程分支忘分,如果沒有該遠程分支,則會創(chuàng)建一個白修。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? git push origin 當前分支與遠程分支有追蹤關(guān)系妒峦,便可以省略分支名。
2.git commit -m '備注XXX'兵睛,-m的作用
平時我們提交代碼經(jīng)常會用到git commit -m 'message',當中的-m 參數(shù)的意思是后面可以直接輸入本次提交的說明肯骇,如果不加-m是不可以直接輸入message的,通常會直接調(diào)用一個編輯器一般是vim來讓你輸入這個message祖很。
另外加上-a屬性 git commit -a -m ‘XXX’是可以讓所已跟蹤文件的修改刪除操作提交到本地倉庫笛丙,而不再用先git add 。新加的文件(即沒有被git系統(tǒng)管理的文件)是不能被提交到本地倉庫的假颇。
3.push之后發(fā)現(xiàn)修改錯誤了胚鸯,怎么回退到特定版本
對于已經(jīng)線上push的代碼,想要回退到之前指定的版本拆融,可以使用git revert “版本號” 來回退,可以使用 git reflog來查看版本號
使用revert命令啊终,其實是用新的commit來回滾舊的commit,所以不像reset 命令是直接刪除commit,新commit很關(guān)鍵,版本向前走,所以代碼回退后,當前版本代碼回滾到歷史版本镜豹,這是再git push一次就可以把線上的代碼更新.不會用沖突。
如果是還沒有push蓝牲,只是commit提交了趟脂,可以使用git reset "commit的id" 來撤銷,這種方式例衍,會撤銷commit,回退到上一個提交的節(jié)點昔期,本地代碼還是修改后的代碼已卸。也可以使用git reset -hard "commit的id",這樣會提交節(jié)點回退的同時硼一,本地代碼也會變成修改之前累澡。當reset之后,修改的只是本地般贼,如果想遠程倉庫也發(fā)生改變愧哟,我們不能使用普通的push命令,而是要用git push origin 當前分支名 -f 強制push哼蛆。
常用的其他命令
當需要隱藏當前修改的東西的時候蕊梧,可以使用git stash命令,如果想要查看你所stash的東西腮介,可以使用git stash list 命令肥矢,git stash clear q清空stash棧。git stash pop 把隱藏的代碼拉回來叠洗,并刪除stash所占用的空間甘改。
git branch 查看本地分支
git branch -r 查看遠程分支
git branch -a 查看所有分支
git branch -d 刪除本地分支
git branch -b 創(chuàng)建分支
git? checkout "分支名" 切換分支
git checkout -b "分支名" 切換并創(chuàng)建分支