溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

git怎么刪除某次指定的提交問題

發(fā)布時(shí)間:2020-07-30 13:36:02 來源:億速云 閱讀:175 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了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怎么刪除某次指定的提交問題

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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

git
AI