摘要:很多原因可能会导致我们想删掉远程服务器上提交的版本。下面主要说一下删除的命令行。然后通过命令提交到远程库。这里一定要注意注意再注意注意提交到远程库之后,的代码会直接从远程库里面删除。,代表的是最新版本的上一个版本,以此类推。
额,怎么开头呢,从文章的定位开始吧。这篇文章的目的就是定位给完全的小白,像我这样,对于互联网知识不了解的人,但是特别渴望学习,小白文章小白文章小白文章!重要的事情说三遍,大神绕行!
先说下环境:
运行环境: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代码!多谢!
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/64766.html
摘要:终端提示注意对生成定的秘钥进行重命名输入名称。如果某些文件已经被纳入了版本管理中,则修改是无效的。 简述 Git 是目前很流行的版本控制工具,很多开发团队在使用。本人也在使用这个工具,发觉相比于传统的SVN,确实好用很多,而且它还有很大的自由属性,这一点深得我的欣赏。这次的分享主要是分享关于Git的基础,关于本地仓库的基本操作。(不懂本地仓库的概念可以上网查一些关于 Git 的代码仓库...
阅读 2573·2021-11-23 09:51
阅读 3123·2019-08-30 15:54
阅读 1074·2019-08-30 14:14
阅读 3545·2019-08-30 13:59
阅读 1400·2019-08-29 17:09
阅读 1470·2019-08-29 16:24
阅读 2850·2019-08-29 15:43
阅读 912·2019-08-29 12:45