您好,登錄后才能下訂單哦!
這篇文章主要講解了git怎么刪除某次指定的提交問題,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。
Git 是一個(gè)分布式版本控制軟件,與CVS、Subversion一類的集中式版本控制工具不同,它采用了分布式版本庫的作法,不需要服務(wù)器端軟件,就可以運(yùn)作版本控制,使得源代碼的發(fā)布和交流極其方便。
git 是一個(gè)分布式版本控制軟件,最初由林納斯·托瓦茲創(chuàng)作,于 2005 年以 GPL 發(fā)布。最初目的是為更好地管理 Linux 內(nèi)核開發(fā)而設(shè)計(jì)。應(yīng)注意的是,這與 GNU Interactive Tools 有所不同。 git 最初的開發(fā)動(dòng)力來自于 BitKeeper 和 Monotone。
git 最初的開發(fā)動(dòng)力來自于 BitKeeper 和 Monotone。git 最初只是作為一個(gè)可以被其他前端(比如 Cogito 或 Stgit)包裝的后端而開發(fā)的,但后來 git 內(nèi)核已經(jīng)成熟到可以獨(dú)立地用作版本控制。很多著名的軟件都使用 git 進(jìn)行版本控制,其中包括 Linux 內(nèi)核、X.Org 服務(wù)器和 OLPC 內(nèi)核等項(xiàng)目的開發(fā)流程。
主要功能
git 是用于 Linux 內(nèi)核開發(fā)的版本控制工具。與 CVS、Subversion 一類的集中式版本控制工具不同,它采用了分布式版本庫的作法,不需要服務(wù)器端軟件,就可以運(yùn)作版本控制,使得源代碼的發(fā)布和交流極其方便。git 的速度很快,這對(duì)于諸如 Linux 內(nèi)核這樣的大項(xiàng)目來說自然很重要。git 最為出色的是它的合并追蹤(merge tracing)能力。
實(shí)際上內(nèi)核開發(fā)團(tuán)隊(duì)決定開始開發(fā)和使用 git 來作為內(nèi)核開發(fā)的版本控制系統(tǒng)的時(shí)候,世界上開源社群的反對(duì)聲音不少,最大的理由是 git 太艱澀難懂,從 git 的內(nèi)部工作機(jī)制來說,的確是這樣。但是隨著開發(fā)的深入,git 的正常使用都由一些友善的命令來執(zhí)行,使 git 變得非常好用。現(xiàn)在,越來越多的著名項(xiàng)目采用 git 來管理項(xiàng)目開發(fā),例如:wine、U-boot 等。
作為開源自由原教旨主義項(xiàng)目,git 沒有對(duì)版本庫的瀏覽和修改做任何的權(quán)限限制,通過其他工具也可以達(dá)到有限的權(quán)限控制,比如:gitosis、CodeBeamer MR。原本 git 的使用范圍只適用于 Linux/Unix 平臺(tái),但在 Windows 平臺(tái)下的使用也日漸成熟,這主要?dú)w功于 Cygwin、msysgit 環(huán)境,以及 TortoiseGit 這樣易用的 GUI 工具。git 的源代碼中也已經(jīng)加入了對(duì) Cygwin 與 MinGW 編譯環(huán)境的支持且逐漸完善,為 Windows 用戶帶來福音。
重點(diǎn)內(nèi)容
reset命令有3種方式:
1:git reset –mixed:此為默認(rèn)方式,不帶任何參數(shù)的git reset,即時(shí)這種方式,它回退到某個(gè)版本,只保留源碼,回退commit和index信息
2:git reset –soft:回退到某個(gè)版本,只回退了commit的信息,不會(huì)恢復(fù)到index file一級(jí)。如果還要提交,直接commit即可
3:git reset –hard:徹底回退到某個(gè)版本,本地的源碼也會(huì)變?yōu)樯弦粋€(gè)版本的內(nèi)容
git reset只是在本地倉庫中回退版本,而遠(yuǎn)程倉庫的版本不會(huì)變化。
以刪除master分支為例
#新建一個(gè)備份的分支,數(shù)據(jù)無價(jià) git branch old_master #提交本地當(dāng)前的文件到新建的分支 git push origin old_master:old_master #本地可以徹底恢復(fù)到你想恢復(fù)到的版本了 git reset --hard 58093e1355716f0f861b64f1c3dfe59242be28f7 #在web端settings頁面,修改默認(rèn)分支為新建的分支,可以刪除遠(yuǎn)程分支了 git push origin :master #如果出現(xiàn)! [remote rejected] master (deletion of the current branch prohibited),說明沒有設(shè)置遠(yuǎn)程的默認(rèn)分支,沒有權(quán)限刪除,請(qǐng)?jiān)趙eb端settings頁面,修改默認(rèn)分支為新建的分支 #進(jìn)行到這里,遠(yuǎn)程的master分支已經(jīng)刪除成功 #重新提交本地文件到master分支(此時(shí)會(huì)自動(dòng)新建master分支) git push origin master #再體驗(yàn)一下刪除分支 git push origin :old_master
看完上述內(nèi)容,是不是對(duì)git怎么刪除某次指定的提交問題有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。