养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

GIT学习--(19) Git操作禁忌之git push -f

时间:2024-09-23 01:22:00

前面若干篇Git学习相关经验都在描述如何更好的使用Git,但任何好用的工具,其过度灵活性的命令还是会带来一些问题,比如Git提供的gitpush-f这个命令,这篇经验就告诉大家这个命令的隐患!

工具/原料

一台安装了Git并可以连接网络的电脑

一个创建了远程仓库的GitHub账号

方法/步骤

1、首先我们先看看咯悝滩镞gitpush-f这个命令是什么意思:1.运行gifpush-h2.找到-f参数,其实是--force参数的缩写这个命令祈硗樘缎其实就是强制更新的意思!当你在使用gitpush推送报错时,除了耐心的排除错误再推送外,你还可以使用这个命令强制推送,但通常这会造成严重的后果!

GIT学习--(19) Git操作禁忌之git push -f

2、我们苴煜塑桠来通过这篇经验演示一下这个命令的"强悍"威力,首先,我们还是先看一下我们要演示的分支mileStone在远程仓库呼鳏魇杰上的提交记录信息,操作如下:1.登录GitHub2.进入仓库,并切换到分支mileStone图示,我们在该分支上共有25次提交记录,点击进入提交记录明细页面,可以看到所有的提交明细信息。我们后面会演示,通过gitpush-f命令,能将这所有的提交记录全部彻底删除!

GIT学习--(19) Git操作禁忌之git push -f

GIT学习--(19) Git操作禁忌之git push -f

3、我们窘谒樗缚假定因为某种需求,用户通过gitreset--hard命令将本地分支mileStone切换到了最初版眺螗熨膣本,命令步骤如下:1.gitlog--oneline2.gitreset--hard版本对应的哈希值3.gitlog--oneline通过gitreset--hard版本对应的哈希值这个命令可以将本地分支强行切换到某个历史版本上,从而将本地分支的一部分提交记录彻底删除!通过gitlog--oneline这个命令,我们可以看出上述命令的操作产生的效果!

GIT学习--(19) Git操作禁忌之git push -f

GIT学习--(19) Git操作禁忌之git push -f

4、然后我们先通过gitpush远程仓库别名分支名这种普通的命令形式进行推送,执行命令如下:1.gitpush远程仓库别名分支名称毫无疑问,这种推送方式直接报错了!(图示)

GIT学习--(19) Git操作禁忌之git push -f

5、那就强制推送吧,运行下面的命令看看效果:1.gitpush-f远程仓库别名分支名称强制推送成功了!(图示)

GIT学习--(19) Git操作禁忌之git push -f

6、我们再看看远程仓库的内容,图示可以看出,远程仓库的mileStone分支下,原本存在的25个提交记录全部被删除了!

GIT学习--(19) Git操作禁忌之git push -f

GIT学习--(19) Git操作禁忌之git push -f

7、总结:gitpush-f这个命令形式在实际开发中是被严格限制使用的!我们这篇经验只是用于演示其“彪悍”的能力!

© 一点知识