2018-07-18 14:29:47 1252瀏覽
今天扣丁學(xué)堂淺談在目前Linux培訓(xùn)中有很多學(xué)員記不住Git集中操作命令,小編專門找Linux講師匯總了一下,下面我們一起來看一下吧。
gitversion#查看版本 gitconfig-l#查看當(dāng)前配置 gitconfig--globaluser.name"Dean"#設(shè)置用戶名,郵箱 gitconfig--globaluser.emailg.xiangyu1990@gmail.com#設(shè)置用戶名,郵箱 gitconfig--globalalias.cicommit#設(shè)置git命令的別名 gitconfig--globalalias.cocheckout#設(shè)置git命令的別名
#創(chuàng)建一個(gè)本地的git倉庫并命名: gitinitdemo #克隆一個(gè)遠(yuǎn)程的git倉庫到指定路徑: gitclonehttps://github.com/a396901990/android.git/path/workpsace
gitbranch#查看分支 gitremoteshoworigin#查看所有分支 gitbranch<branchname>#創(chuàng)建新分支 gitcheckout<branchname>#切換到分支 gitcheckout-b<new_branch>#創(chuàng)建并切換到新分支 gitbranch-d<branchname>#刪除分支(-D強(qiáng)刪) gitbranch-m<old><new>#本地分支重命名
gitadd<file>#將本地指定文件名或目錄(新增和修改,沒有刪除)的文件添加到暫存區(qū) gitadd.#將本地所有的(新增和修改,沒有刪除)文件添加到暫存區(qū) gitadd-u#將本地的(修改和刪除,沒有新增)文件添加到暫存區(qū) gitadd-A#將本地所有改動(dòng)添加到暫存區(qū)(gitadd-A=gitadd.+gitadd-u) gitadd-i#打開一個(gè)交互式界面按需求添加文件
gitrm<file>#刪除文件 gitrm-r<floder>#刪除文件夾 gitrm--cached<file>#從版本庫中刪除文件,但不刪除文件 gitmv<old_name><new_name>#文件重命名
gitcommit-m"comment"#提交暫存區(qū)中的內(nèi)容(已經(jīng)add)并添加注釋 gitcommit-a#把修改的文件添加到暫存區(qū)(不包括新建(untracked)的文件),然后提交。 gitcommit--amend#修改提交的commit(沒有push) gitcommit--amend-m"comment"#修改commit注解
gitdiff#查看工作目錄(workingtree)暫存區(qū)(index)的差別 gitdiff--cached#查看暫存起來的文件(stage)與并未提交(commit)的差別 gitdiff--staged#同上 gitdiffHEAD#查看最后一次提交之后的的差別(HEAD代表最近一次commit的信息) gitdiff--stat#查看顯示簡略結(jié)果(文件列表) gitdiffcommit1commit2#對比兩次提交的內(nèi)容(也可以是branch,哈希值)
gitlog gitlog-3#查看前3次修改 gitlog--oneline#一行顯示一條log gitlog-p#查看詳細(xì)修改內(nèi)容 gitlog--stat#查看提交統(tǒng)計(jì)信息 gitlog--graph#顯示何時(shí)出現(xiàn)了分支和合并等信息
gitstatus#查看你的代碼在緩存與當(dāng)前工作目錄的狀態(tài) gitstatus-s#將結(jié)果以簡短的形式輸出 gitstatus--ignored#顯示被忽略的文件
gitstash#保存當(dāng)前的工作進(jìn)度 gitstashsave"message"#保存進(jìn)度加說明 gitstashlist#顯示進(jìn)度列表 gitstashpop#恢復(fù)最新保存的工作進(jìn)度,并將恢復(fù)的工作進(jìn)度從存儲(chǔ)的列表中刪除 gitstashapply#恢復(fù)最新保存工作進(jìn)度,但不刪除 gitstashdrop#刪除一個(gè)進(jìn)度,默認(rèn)刪除最新的 gitstashclear#刪除所有
gitreset--mixed#同不帶任何參數(shù)的gitreset一樣,重置暫存區(qū),但不改變工作區(qū) gitreset--soft#回退到某個(gè)版本,不改變暫存區(qū)和工作區(qū)(如果還要提交,直接commit即可) gitreset--hard#徹底回退到某個(gè)版本,替換暫存區(qū)和工作區(qū),本地的源碼也會(huì)變?yōu)樯弦粋€(gè)版本的內(nèi)容 gitreset#將之前用gitadd命令添加到暫存區(qū)的內(nèi)容撤出暫存區(qū)(相當(dāng)于gitadd-A的反向操作) gitresetHEAD#HEAD效果同上,因?yàn)橐弥刂玫紿EAD相當(dāng)與沒有重置 gitresetfilename#將文件撤出暫存區(qū)(相當(dāng)于gitaddfilename的反向操作) gitresetHEAD^#引用回退一次(工作區(qū)不變,暫存區(qū)回退) gitreset--softHEAD~3#引用回退三次(工作區(qū)不變,暫存區(qū)不變)
gitrevertcommit#撤銷指定commit gitrevertHEAD#撤銷上一次commit gitrevert-no-editHEAD#撤銷上一次并直接使用默認(rèn)注釋 gitrevert-nHEAD#撤銷上一次但不commit
gitcherry-pick<commit_id>#用于把另一個(gè)本地分支的commit修改應(yīng)用到當(dāng)前分支
gitmerge<branch_name>#合并 gitmerge--no-ff<branch_name>#采用nofastforward的合并方式,這種方式在合并的同時(shí)會(huì)生成一個(gè)新的commit gitmerge--abort#盡量回退到merge前的狀態(tài)(可能會(huì)失?。? gitmerge--squash<branch_name>#將目標(biāo)分支合并過來但不攜帶commit信息,執(zhí)行后最后需要提交一個(gè)commit(好處,代碼整潔)
gitrebase<branch_name># gitrebase--continue#執(zhí)行rebase出現(xiàn)沖突解決后,執(zhí)行該命令會(huì)繼續(xù)應(yīng)用(apply)余下的補(bǔ)丁 gitrebase--skip#跳過當(dāng)前提交 gitrebase--abort#終止rebase,分支會(huì)回到rebase開始前的狀態(tài)
gitfetch#從遠(yuǎn)程獲取最新版本到本地,不會(huì)自動(dòng)merge gitpull#從遠(yuǎn)程獲取最新版本并merge到本地 gitpull--rebase#暫存本地變更,合并遠(yuǎn)程最新改動(dòng),合并剛剛暫存的本地變更(不產(chǎn)生無用的merge的同步)
gitpushoriginmaster#將本地分支推送到origin主機(jī)的master分支 gitpush-uoriginmaster#-u指定origin為默認(rèn)主機(jī),后面就可以不加任何參數(shù)使用gitpush了 gitpush-forigin#-f強(qiáng)推,在遠(yuǎn)程主機(jī)產(chǎn)生一個(gè)"非直進(jìn)式"的合并(non-fast-forwardmerge) gitpush--allorigin#將所有本地分支都推送到origin主
檢出倉庫:$gitclonegit://github.com/jquery/jquery.git 查看遠(yuǎn)程倉庫:$gitremote-v 添加遠(yuǎn)程倉庫:$gitremoteadd[name][url] 刪除遠(yuǎn)程倉庫:$gitremoterm[name] 修改遠(yuǎn)程倉庫:$gitremoteset-url--push[name][newUrl] 拉取遠(yuǎn)程倉庫:$gitpull[remoteName][localBranchName] 推送遠(yuǎn)程倉庫:$gitpush[remoteName][localBranchName] *如果想把本地的某個(gè)分支test提交到遠(yuǎn)程倉庫,并作為遠(yuǎn)程倉庫的master分支,或者作為另外一個(gè)名叫test的分支,如下: $gitpushorigintest:master//提交本地test分支作為遠(yuǎn)程的master分支 $gitpushorigintest:test//提交本地test分支作為遠(yuǎn)程的test分支
查看本地分支:$gitbranch 查看遠(yuǎn)程分支:$gitbranch-r 創(chuàng)建本地分支:$gitbranch[name]----注意新分支創(chuàng)建后不會(huì)自動(dòng)切換為當(dāng)前分支 切換分支:$gitcheckout[name] 創(chuàng)建新分支并立即切換到新分支:$gitcheckout-b[name] 刪除分支:$gitbranch-d[name]-----d選項(xiàng)只能刪除已經(jīng)參與了合并的分支,對于未有合并的分支是無法刪除的。如果想強(qiáng)制刪除一個(gè)分支,可以使用-D選項(xiàng) 合并分支:$gitmerge[name]----將名稱為[name]的分支與當(dāng)前分支合并 創(chuàng)建遠(yuǎn)程分支(本地分支push到遠(yuǎn)程):$gitpushorigin[name] 刪除遠(yuǎn)程分支:$gitpushorigin:heads/[name]或$gitpushorigin:[name] *創(chuàng)建空的分支:(執(zhí)行命令之前記得先提交你當(dāng)前分支的修改,否則會(huì)被強(qiáng)制刪干凈沒得后悔) $gitsymbolic-refHEADrefs/heads/[name] $rm.git/index $gitclean-fdx
查看版本:$gittag 創(chuàng)建版本:$gittag[name] 刪除版本:$gittag-d[name] 查看遠(yuǎn)程版本:$gittag-r 創(chuàng)建遠(yuǎn)程版本(本地版本push到遠(yuǎn)程):$gitpushorigin[name] 刪除遠(yuǎn)程版本:$gitpushorigin:refs/tags/[name] 合并遠(yuǎn)程倉庫的tag到本地:$gitpullorigin--tags 上傳本地tag到遠(yuǎn)程倉庫:$gitpushorigin--tags 創(chuàng)建帶注釋的tag:$gittag-a[name]-m'yourMessage'
添加子模塊:$gitsubmoduleadd[url][path] 如:$gitsubmoduleaddgit://github.com/soberh/ui-libs.gitsrc/main/webapp/ui-libs 初始化子模塊:$gitsubmoduleinit----只在首次檢出倉庫時(shí)運(yùn)行一次就行 更新子模塊:$gitsubmoduleupdate----每次更新或切換分支后都需要運(yùn)行一下
target bin *.db
gitbranch查看本地所有分支 gitstatus查看當(dāng)前狀態(tài) gitcommit提交 gitbranch-a查看所有的分支 gitbranch-r查看本地所有分支 gitcommit-am"init"提交并且加注釋 gitremoteaddorigingit@192.168.1.119:ndshow gitpushoriginmaster將文件給推到服務(wù)器上 gitremoteshoworigin顯示遠(yuǎn)程庫origin里的資源 gitpushoriginmaster:develop gitpushoriginmaster:hb-dev將本地庫與服務(wù)器上的庫進(jìn)行關(guān)聯(lián) gitcheckout--trackorigin/dev切換到遠(yuǎn)程dev分支 gitbranch-Dmasterdevelop刪除本地庫develop gitcheckout-bdev建立一個(gè)新的本地分支dev gitmergeorigin/dev將分支dev與當(dāng)前分支進(jìn)行合并 gitcheckoutdev切換到本地dev分支 gitremoteshow查看遠(yuǎn)程庫 gitadd. gitrm文件名(包括路徑)從git中刪除指定文件 gitclonegit://github.com/schacon/grit.git從服務(wù)器上將代碼給拉下來 gitconfig--list看所有用戶 gitls-files看已經(jīng)被提交的 gitrm[filename]刪除一個(gè)文件 gitcommit-a提交當(dāng)前repos的所有的改變 gitadd[filename]添加一個(gè)文件到gitindex gitcommit-v當(dāng)你用-v參數(shù)的時(shí)候可以看commit的差異 gitcommit-m"Thisisthemessagedescribingthecommit"添加commit信息 gitcommit-a-a是代表add,把所有的change加到gitindex里然后再commit gitcommit-a-v一般提交命令 gitlog看你commit的日志 gitdiff查看尚未暫存的更新 gitrma.a移除文件(從暫存區(qū)和工作區(qū)中刪除) gitrm--cacheda.a移除文件(只從暫存區(qū)中刪除) gitcommit-m"remove"移除文件(從Git中刪除) gitrm-fa.a強(qiáng)行移除修改后文件(從暫存區(qū)和工作區(qū)中刪除) gitdiff--cached或$gitdiff--staged查看尚未提交的更新 gitstashpush將文件給push到一個(gè)臨時(shí)空間中 gitstashpop將文件從臨時(shí)空間pop下來 --------------------------------------------------------- gitremoteaddorigingit@github.com:username/Hello-World.git gitpushoriginmaster將本地項(xiàng)目給提交到服務(wù)器中 ----------------------------------------------------------- gitpull本地與服務(wù)器端同步 ----------------------------------------------------------------- gitpush(遠(yuǎn)程倉庫名)(分支名)將本地分支推送到服務(wù)器上去。 gitpushoriginserverfix:awesomebranch ------------------------------------------------------------------ gitfetch相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地,不會(huì)自動(dòng)merge gitcommit-a-m"log_message"(-a是提交所有改動(dòng),-m是加入log信息)本地修改同步至服務(wù)器端: gitbranchbranch_0.1master從主分支master創(chuàng)建branch_0.1分支 gitbranch-mbranch_0.1branch_1.0將branch_0.1重命名為branch_1.0 gitcheckoutbranch_1.0/master切換到branch_1.0/master分支 du-hs ----------------------------------------------------------- mkdirWebApp cdWebApp gitinit touchREADME gitaddREADME gitcommit-m'firstcommit' gitremoteaddorigingit@github.com:daixu/WebApp.git gitpush-uoriginmaster
以上就是關(guān)于扣丁學(xué)堂Linux開發(fā)之Git集中操作命令整理匯總的詳細(xì)介紹,請多多關(guān)注扣丁學(xué)堂,每天會(huì)更新高質(zhì)量和原創(chuàng)技術(shù)文章內(nèi)容,扣丁學(xué)堂是專業(yè)的Linux培訓(xùn)班,不僅有專業(yè)的老師和與時(shí)俱進(jìn)的課程體系,還有大量的Linux視頻教程供學(xué)員觀看學(xué)習(xí)哦??鄱W(xué)堂Linux技術(shù)交流群:422345477。
【關(guān)注微信公眾號(hào)獲取更多的學(xué)習(xí)資料】
查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>