成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

關(guān)于git刪除遠(yuǎn)程commit

guqiu / 1855人閱讀

摘要:很多原因可能會(huì)導(dǎo)致我們想刪掉遠(yuǎn)程服務(wù)器上提交的版本。下面主要說一下刪除的命令行。然后通過命令提交到遠(yuǎn)程庫。這里一定要注意注意再注意注意提交到遠(yuǎn)程庫之后,的代碼會(huì)直接從遠(yuǎn)程庫里面刪除。,代表的是最新版本的上一個(gè)版本,以此類推。

額,怎么開頭呢,從文章的定位開始吧。這篇文章的目的就是定位給完全的小白,像我這樣,對(duì)于互聯(lián)網(wǎng)知識(shí)不了解的人,但是特別渴望學(xué)習(xí),小白文章小白文章小白文章!重要的事情說三遍,大神繞行!

先說下環(huán)境:

運(yùn)行環(huán)境:mac os
編程工具:android studio
代碼托管平臺(tái):開源中國git@cos

好了,先來模擬下可能需要用到這篇文章的地方。我們的代碼都在遠(yuǎn)程服務(wù)器托管。 很多原因可能會(huì)導(dǎo)致我們想刪掉遠(yuǎn)程服務(wù)器上提交的版本。下面就來說下怎么刪除,應(yīng)該有不同的方法去實(shí)現(xiàn)刪除。

1.1假設(shè)我們服務(wù)器上的commit記錄為:

commit4
commit3
commit2
commit1

我們所提交的commit4為你想刪除的。那應(yīng)該從哪入手?
至少我用的android studio我不知道如何下手。而多數(shù)用git的人都是用的命令行控制,很顯然,我們也要用命令行控制。具體操作:

1.2在哪里輸入命令行
打開mac上的終端(windows好像也有個(gè)cmd還是啥的吧,輸入命令行的,都一樣的)。然后多少有點(diǎn)開發(fā)經(jīng)驗(yàn)的應(yīng)該都知道命令行的cd指令。在終端中,cd到你的項(xiàng)目目錄下。正常來說,如果你的項(xiàng)目是一個(gè)git項(xiàng)目,那么在你的目錄下面會(huì)有個(gè).git的隱藏文件夾。比如我的項(xiàng)目叫Test,在硬盤的develop文件夾下。在終端中輸入“cd developer/Test/”回車,此時(shí)已經(jīng)定位到你的項(xiàng)目下了。這時(shí)候你操作的就是當(dāng)前項(xiàng)目的git,不會(huì)影響其他的git庫。

1.3輸入什么?
我們?nèi)ゾW(wǎng)上看人家的教程,人家往往都直接給出"get reset --hard..."之類的代碼,這時(shí)候我們就可以在當(dāng)前的終端中輸入了。下面主要說一下刪除的命令行。拿上面的例子。commit4為你想刪除的,首先在終端中輸入"git reset --hard HEAD~1",接下來會(huì)提示"HEAD is now at commit3"就是說你當(dāng)前的代碼是commit3提交的內(nèi)容。然后通過"git push --force"命令提交到遠(yuǎn)程庫。這里一定要注意注意再注意!

注意:提交到遠(yuǎn)程庫之后,commit4的代碼會(huì)直接從遠(yuǎn)程庫里面刪除。 也就是修改的記錄沒了。下面要講的,跟剛才輸入的第一個(gè)命令"git reset --hard HEAD~1"有關(guān),這里至關(guān)重要的是后面那個(gè)數(shù)字。1代表你當(dāng)前在git上最新的那個(gè)版本。2,代表的是最新版本的上一個(gè)版本,以此類推。也就是當(dāng)你輸入"git reset --hard HEAD~2"的時(shí)候,會(huì)把commit3以及以后的都刪掉,也就是遠(yuǎn)程倉庫只有commit2修改后的代碼!

通過上文看到,這種用法還有一點(diǎn)局限性,那就是我想要只刪除中間的commit3版本,但是想保留commit4修改的內(nèi)容。這種需求是無法滿足的。

該文章雖為原創(chuàng),但是里面用到的方法是我在SegmentFault社區(qū)的一篇文章上看到的:http://segmentfault.com/a/1190000004071116
還得多謝一直支持我的大神,讓我知道如何操作git代碼!多謝!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64766.html

相關(guān)文章

  • Git自由之章 - 本地倉庫的基本操作

    摘要:終端提示注意對(duì)生成定的秘鑰進(jìn)行重命名輸入名稱。如果某些文件已經(jīng)被納入了版本管理中,則修改是無效的。 簡(jiǎn)述 Git 是目前很流行的版本控制工具,很多開發(fā)團(tuán)隊(duì)在使用。本人也在使用這個(gè)工具,發(fā)覺相比于傳統(tǒng)的SVN,確實(shí)好用很多,而且它還有很大的自由屬性,這一點(diǎn)深得我的欣賞。這次的分享主要是分享關(guān)于Git的基礎(chǔ),關(guān)于本地倉庫的基本操作。(不懂本地倉庫的概念可以上網(wǎng)查一些關(guān)于 Git 的代碼倉庫...

    XFLY 評(píng)論0 收藏0
  • 關(guān)于git常用命令

    git常用命令 git常用命令 初始化本地git環(huán)境? git init 克隆一份代碼到本地倉庫 ? git clone XXX 把遠(yuǎn)程庫的代碼更新到工作臺(tái) ? git pull 強(qiáng)制把遠(yuǎn)程庫的代碼跟新到當(dāng)前分支上面 ? git pull --rebase origin master 把遠(yuǎn)程庫的代碼更新到本地庫? git fetch 把本地的修改加到stage中?...

    only_do 評(píng)論0 收藏0
  • 關(guān)于git常用命令

    git常用命令 git常用命令 初始化本地git環(huán)境? git init 克隆一份代碼到本地倉庫 ? git clone XXX 把遠(yuǎn)程庫的代碼更新到工作臺(tái) ? git pull 強(qiáng)制把遠(yuǎn)程庫的代碼跟新到當(dāng)前分支上面 ? git pull --rebase origin master 把遠(yuǎn)程庫的代碼更新到本地庫? git fetch 把本地的修改加到stage中?...

    lvzishen 評(píng)論0 收藏0
  • 關(guān)于git常用命令

    git常用命令 git常用命令 初始化本地git環(huán)境? git init 克隆一份代碼到本地倉庫 ? git clone XXX 把遠(yuǎn)程庫的代碼更新到工作臺(tái) ? git pull 強(qiáng)制把遠(yuǎn)程庫的代碼跟新到當(dāng)前分支上面 ? git pull --rebase origin master 把遠(yuǎn)程庫的代碼更新到本地庫? git fetch 把本地的修改加到stage中?...

    2i18ns 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

guqiu

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<