摘要:很多原因可能會導致我們想刪掉遠程服務器上提交的版本。下面主要說一下刪除的命令行。然后通過命令提交到遠程庫。這里一定要注意注意再注意注意提交到遠程庫之后,的代碼會直接從遠程庫里面刪除。,代表的是最新版本的上一個版本,以此類推。
額,怎么開頭呢,從文章的定位開始吧。這篇文章的目的就是定位給完全的小白,像我這樣,對于互聯網知識不了解的人,但是特別渴望學習,小白文章小白文章小白文章!重要的事情說三遍,大神繞行!
先說下環境:
運行環境:mac os 編程工具:android studio 代碼托管平臺:開源中國git@cos
好了,先來模擬下可能需要用到這篇文章的地方。我們的代碼都在遠程服務器托管。 很多原因可能會導致我們想刪掉遠程服務器上提交的版本。下面就來說下怎么刪除,應該有不同的方法去實現刪除。
1.1假設我們服務器上的commit記錄為:
commit4 commit3 commit2 commit1
我們所提交的commit4為你想刪除的。那應該從哪入手?
至少我用的android studio我不知道如何下手。而多數用git的人都是用的命令行控制,很顯然,我們也要用命令行控制。具體操作:
1.2在哪里輸入命令行
打開mac上的終端(windows好像也有個cmd還是啥的吧,輸入命令行的,都一樣的)。然后多少有點開發經驗的應該都知道命令行的cd指令。在終端中,cd到你的項目目錄下。正常來說,如果你的項目是一個git項目,那么在你的目錄下面會有個.git的隱藏文件夾。比如我的項目叫Test,在硬盤的develop文件夾下。在終端中輸入“cd developer/Test/”回車,此時已經定位到你的項目下了。這時候你操作的就是當前項目的git,不會影響其他的git庫。
1.3輸入什么?
我們去網上看人家的教程,人家往往都直接給出"get reset --hard..."之類的代碼,這時候我們就可以在當前的終端中輸入了。下面主要說一下刪除的命令行。拿上面的例子。commit4為你想刪除的,首先在終端中輸入"git reset --hard HEAD~1",接下來會提示"HEAD is now at commit3"就是說你當前的代碼是commit3提交的內容。然后通過"git push --force"命令提交到遠程庫。這里一定要注意注意再注意!
注意:提交到遠程庫之后,commit4的代碼會直接從遠程庫里面刪除。 也就是修改的記錄沒了。下面要講的,跟剛才輸入的第一個命令"git reset --hard HEAD~1"有關,這里至關重要的是后面那個數字。1代表你當前在git上最新的那個版本。2,代表的是最新版本的上一個版本,以此類推。也就是當你輸入"git reset --hard HEAD~2"的時候,會把commit3以及以后的都刪掉,也就是遠程倉庫只有commit2修改后的代碼!
通過上文看到,這種用法還有一點局限性,那就是我想要只刪除中間的commit3版本,但是想保留commit4修改的內容。這種需求是無法滿足的。
該文章雖為原創,但是里面用到的方法是我在SegmentFault社區的一篇文章上看到的:http://segmentfault.com/a/1190000004071116
還得多謝一直支持我的大神,讓我知道如何操作git代碼!多謝!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64766.html
摘要:終端提示注意對生成定的秘鑰進行重命名輸入名稱。如果某些文件已經被納入了版本管理中,則修改是無效的。 簡述 Git 是目前很流行的版本控制工具,很多開發團隊在使用。本人也在使用這個工具,發覺相比于傳統的SVN,確實好用很多,而且它還有很大的自由屬性,這一點深得我的欣賞。這次的分享主要是分享關于Git的基礎,關于本地倉庫的基本操作。(不懂本地倉庫的概念可以上網查一些關于 Git 的代碼倉庫...
閱讀 2569·2021-11-23 09:51
閱讀 3120·2019-08-30 15:54
閱讀 1070·2019-08-30 14:14
閱讀 3541·2019-08-30 13:59
閱讀 1392·2019-08-29 17:09
閱讀 1468·2019-08-29 16:24
閱讀 2847·2019-08-29 15:43
閱讀 910·2019-08-29 12:45