GIT学习--(19) Git操作禁忌之git push
的有关信息介绍如下:首先我们先看看 git push -f 这个命令是什么意思:1. 运行 gif push -h 2. 找到 -f 参数,其实是 --force 参数的缩写这个命令其实就是强制更新的意思! 当你在使用 git push 推送报错时,除了耐心的排除错误再推送外,你还可以使用这个命令强制推送,但通常这会造成严重的后果!
我们来通过这篇经验演示一下这个命令的"强悍"威力,首先,我们还是先看一下我们要演示的分支 mileStone 在远程仓库上的提交记录信息,操作如下:1. 登录 GitHub2. 进入仓库,并切换到分支 mileStone图示,我们在该分支上共有 25 次提交记录,点击进入提交记录明细页面,可以看到所有的提交明细信息。我们后面会演示,通过 git push -f 命令,能将这所有的提交记录全部彻底删除!
我们假定因为某种需求,用户通过 git reset --hard 命令将本地分支mileStone切换到了最初版本,命令步骤如下:1. git log --oneline 2. git reset --hard 版本对应的哈希值 3. git log --oneline 通过 git reset --hard 版本对应的哈希值 这个命令可以将本地分支强行切换到某个历史版本上,从而将本地分支的一部分提交记录彻底删除!通过 git log --oneline 这个命令,我们可以看出上述命令的操作产生的效果!
然后我们先通过 git push 远程仓库别名 分支名 这种普通的命令形式进行推送,执行命令如下:1. git push 远程仓库别名 分支名称毫无疑问,这种推送方式直接报错了!(图示)
那就强制推送吧,运行下面的命令看看效果:1. git push -f 远程仓库别名 分支名称强制推送成功了! (图示)
我们再看看远程仓库的内容,图示可以看出,远程仓库的 mileStone 分支下,原本存在的 25 个提交记录全部被删除了!
总结:git push -f 这个命令形式在实际开发中是被严格限制使用的!我们这篇经验只是用于演示其“彪悍”的能力!