git如何还原到某次commit并强制推送远程
目录
- git还原到某次commit并强制推送远程
- 一、reset
- git第一次提交代码至远程仓库-强制推送
- 一、首次提交代码到git仓库
- 二、git仓库操作
git还原到某次commit并强制推送远程
不可逆提交
一、reset
1.git log查看提交记录
git log
2.选择某次提交的commit ID,ctrl+c复制提交ID
补充:按q退出日志到输入模式
3.使用git reset –hard 还原到某一次提交
git reset --hard commit ID
这样只会把远程版本(对应的commitId)覆盖到本地仓库,然后如果本地做了修改想要提交现修改后的版本到远程就必须强行推送。因为远程仓库记录过你这个id后的版本。
4.推送修改后的版本(强行推送)
git push -f origin/master
git第一次提交代码至远程仓库-强制推送
一、首次提交代码到git仓库
第一步:git init 初始化项目文件夹
第二步:git add . 键所有文件添加到暂存区
第三步:git commit -m “first commit” 提交到本地仓库
第四步:git remote add origin XXX(XXX就是你github或者码云等远程仓库的地址,git branch这个命令可以看到你所在的分支,删除某个仓库地址使用git remote rm origin)
第五步:git pull 拉取远程分支信息,首次拉取合并信息
第六步:git push -u -f origin master 提交到远程仓库,这个命令中的 -f 是强制推送,因为远程仓库只有初始化的文件,所以强制推送上去就行了,不加-f 会报当前分支没有远程分支,强制推送可以覆盖master,这样就完成了第一次提交的步骤)
二、git仓库操作
git remote remove origin # 删掉原来git源 git remote add origin [YOUR NEW .GIT URL] # 将新源地址写入本地版本库配置文件 git push -u origin master # 提交所有代码
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Git科普文,Git基本原理及各种骚操作(推荐)
Git简单介绍 Git是一个分布式版本控制软件,最初由Linus Torvalds创作,于2005年以GPL发布.最初目的是为更好地管理Linux内核开发而设计. Git工作流程以及各个区域 Workspace:工作区 Staging/Index:暂存区 Local Repository:本地仓库(可修改) /refs/remotes:远程仓库的引用(不可修改) Remote:远程仓库 Git文件状态变化 Git各种命令 Git简单命令 # 在当前目录新建一个git仓库 git init # 打
-
git push 本地项目推送到远程分支的方法(git命令版)
1.在本地建立项目 可使用Eclipse,Idea等开发工具创建项目 打开根目录到所在在工程名的下一级 2.使用git 客户端 进入到上图目录HelloWord的文件夹里面 3.初始化项目 git init 4.HelloWord工程结构的添加 命令 git add -A 5.提交git到版本 -m是提交的注释 git commit -m "这是注释:初始化项目" 6.远程git建立好项目 7.配置远程仓库 origin是远程仓库的别名 代替xxx.git的地址 git remot
-
Git回退代码到某次commit的实现方法
前言 工作中,Git的使用越来越频繁..除了最常用的clone,add,commit,push,pull等命令:还有回退命令reset.这一篇博客就记录一下该回退命令的简单使用. 场景 因为公司开发过程中,处理订单,限时购买等业务时,都是用的阿里云的消息队列MQ实现的.或者是两个系统之间的交互,同步信息,如用户在支付系统A下了一个订单(支付成功),这个时候支付系统A除了处理订单,还有向库存系统B发送一个消息,告知库存系统B要减少下单商品的库存. 我本地跑项目的时候,如果不注释掉监听器,测试服上的
-
git如何还原到某次commit并强制推送远程
目录 git还原到某次commit并强制推送远程 一.reset git第一次提交代码至远程仓库-强制推送 一.首次提交代码到git仓库 二.git仓库操作 git还原到某次commit并强制推送远程 不可逆提交 一.reset 1.git log查看提交记录 git log 2.选择某次提交的commit ID,ctrl+c复制提交ID 补充:按q退出日志到输入模式 3.使用git reset –hard 还原到某一次提交 git reset --hard commit ID 这样只会把远程版
-
Git撤销已经推送(push)至远端仓库的提交(commit)信息操作
有关修改提交(git commit)信息的方法可以参考: Git commit –amend 修改提交信息 有时,在git push之后,才发现还有一些代码需要进行很小的改动,这些改动在原则上不应该作为一次新的提交. 这时,我们需要撤销这次推送(git push)与提交(git commit),然后进行代码修改,再重新进行提交和推送. 为了实现这个目的,需要进行三步操作. 1.撤销提交信息 首先,通过git log查看提交信息,以便获取需要回退至的版本号: $ git log commit a4
-
解决使用commit提交大文件无法推送到远程库问题及git rebase使用详解
解决这个问题并没有特别的(删除提交历史中某个文件,然后重新push),但是由于开始的使用失误,中间有使用git rebase和git reset命令处理,所以特此记录下 大文件无法push到远程仓库 问题 首先,故事(事故)的起因是这样的. 某次git push(类似测试使用,没有分支)到远程仓库时发生如下无法提交大文件的报错(大文件是一个pdf文件) $ git push Enumerating objects: 204, done. Counting objects: 100% (204/2
-
git push & git pull 推送/拉取分支的具体使用
git push与git pull是一对推送/拉取分支的git命令. git push 使用本地的对应分支来更新对应的远程分支. $ git push <远程主机名> <本地分支名>:<远程分支名> 注意: 命令中的本地分支是指将要被推送到远端的分支,而远程分支是指推送的目标分支,即将本地分支合并到远程分支. 如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建. $ git pus
-
Git中使用.gitignore忽略文件的推送方式
目录 1 简介 2 Git忽略文件提交方法 2.1 在Git项目中定义 .gitignore 文件 2.2 定义Git全局的.gitignore文件 2.3 在Git项目的设置中指定排除文件 3 忽略规则 4 总结 1 简介 在使用Git管理自己的代码版本时,由于编译生成的中间文件,Git使用SHA-1算法来对文件进行加密,进而得出来一个40位的十六进制加密字符串. 325525d8b1f67b5ddd37956a8a728fd26c4ba5ce 但这种算法对于文本文件有效,对于二进制之类的文件
-
Eclipse git推送上传错误问题解决方案
Eclipse 中的 Git Eclipse 附带了一个名为 Egit 的插件,它提供了一个非常完善的 Git 操作接口. 这个插件可以通过切换到 Git 视图来使用.( Window > Open Perspective > Other-, 然后选择 "Git" ). EGit 提供了许多强大的帮助文档,你能通过下面的操作来访问它:单击菜单 Help > Help Contents,然后从内容列表中选择 "EGit Documentation"
-
解决Git推送错误non-fast-forward的方法
平时工作过程中,git在push代码的时候有时会遇到如下的错误 错误原因 文件冲突,本地的代码和远程Repository中的文件个数不一致(即远程Repository中存在本地项目中不存在的文件)或本地得项目不是在远程Repository代码的基础上修改的. 解决方法一 #git提交被拒绝,提示(non-fast-forward): #解决方法: 1. git fetch origin dev #获取远程分支debug的修改 2. git merge origin dev #合并远程分支debu
-
Git commit --amend 修改提交信息操作
amend翻译成中文:修改 1.修改还未push的提交 //修改最近一次提交 git commit --amend //进入注释页面,进行修改 //修改后保存退出 2.修改已经push的提交 //修改最近一次提交 git commit --amend //进入注释页面,进行修改 //修改后保存退出 //强制推送 git push --force-with-lease origin master 补充知识:git 使用amend补上遗漏文件 适用场景:上一次提交遗漏了一些文件,需要补交,但不想多一
随机推荐
- sql server 2005中使用with实现递归的方法
- 原生Js实现按的数据源均分时间点幻灯片效果(已封装)
- 修改wamp的apache默认端口80为8088以及www目录
- mvc中form表单提交的三种方式(推荐)
- Lucene.Net实现搜索结果分类统计功能(中小型网站)
- php实现约瑟夫问题的方法小结
- php桌面中心(二) 数据库写入
- mysql 修改密码和设置允许远程登录
- MacOS 安装 PHP的图片裁剪扩展Tclip
- node.js中express中间件body-parser的介绍与用法详解
- Linux下的tar压缩解压缩命令详解(小结)
- 浅谈python新手中常见的疑惑及解答
- JavaScript学习笔记之惰性函数示例详解
- 盘点javascript 正则表达式中 中括号的【坑】
- Android裁剪图像实现方法示例
- Java——对象初始化顺序使用详解
- 动态规划之矩阵连乘问题Python实现方法
- python使用pipeline批量读写redis的方法
- yii2 开发api接口时优雅的处理全局异常的方法
- 微信小程序如何刷新当前界面的实现方法