git 强制回退服务器上的commit

假设你有3个commit如下:

commit 3
commit 2
commit 1

 

其中最后一次提交commit 3是错误的,那么可以执行:

git reset --hard HEAD~1

你会发现,HEAD is now at commit 2

 

然后再使用 git push –force  将本次变更强行推送至服务器。

这样在服务器上的最后一次错误提交也彻底消失了。

值得注意的是,这类操作比较比较危险,例如:在你的commit 3之后别人又提交了新的commit 4,那在你强制推送之后,那位仁兄的commit 4也跟着一起消失了。

 

参考资料:

https://segmentfault.com/q/1010000002898735

时间: 2024-12-12 02:55:09

git 强制回退服务器上的commit的相关文章

Git详解之四 服务器上的Git

来自:http://www.open-open.com/lib/view/open1328069988843.html 服务器上的 Git 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度.另外,你也一定希望合作者们即使在 自己不开机的时候也能从仓库获取数据 — 拥有一个更稳定的公共仓库十分有用.因此,更好的合作方式是建立一个大

服务器上的Git

前面的话 如果想与他人使用,除了使用Git来完成日常工作之外,还需要一个远程的Git仓库.尽管从技术上可以从个人的仓库里推送和拉取修改内容,但并不鼓励这样做,因为一不留心就很容易弄混其他人的进度.因此,更好的合作方式是建立一个大家都可以访问的共享仓库,从那里推送和拉取数据.我们将这个仓库称为"Git服务器":代理一个Git仓库只需要花费很少的资源,几乎从不需要整个服务器来支持它的运行 远程仓库通常只是一个裸仓库(bare repository)——即一个没有当前工作目录的仓库.因为该仓

4 服务器上的 Git

到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度.另外,你也一定希望合作者们即使在自己不开机的时候也能从仓库获取数据 — 拥有一个更稳定的公共仓库十分有用.因此,更好的合作方式是建立一个大家都可以访问的共享仓库,从那里推送和拉取数据.我们将把这个仓库称为 "Git 服务器":代理一个 Git 仓库只需要花费很少的资源,

Git详解之四:服务器上的Git

服务器上的 Git 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度.另外,你也一定希望合作者们即使在 自己不开机的时候也能从仓库获取数据 — 拥有一个更稳定的公共仓库十分有用.因此,更好的合作方式是建立一个大家都可以访问的共享仓库,从那里推送和拉取数据.我们将把这个仓库称为 “Git 服务器”:代理一个 Git 仓库只需要花费

Git学习 --> 个人常用命令add,commit以及push

Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱  git config --global user.name <用户名> 我的命令就是:git config --global user.name mchdbagh  git config --global user.email <油箱> 我的命令就是:git config --global mc[email protected]4 验证有没有连接上remote远程服务器ssh -T [email p

在centos 服务器上安装phalcon框架 undefined symbol: php_pdo_get_dbh_ce

去git 下载对应版本的框架 命令行: sudo yum install php-devel pcre-devel gcc make 然后使用GIT clone到服务器上,然后 git clone git://github.com/phalcon/cphalcon.git cd cphalcon/build sudo ./install 然后查看你的/etc/php.d 目录下有无phalcon.ini 的文件 如果没有在/etc/php.d里面建一个phalcon.ini的文件,内容写上  e

GIT用服务器上的版本强制覆盖掉本地的版本(转)

以前在机子上使用git下载了linux git版本库上的源代码,由于在阅读源代码的过程中,难免会对本地的文件进行修改,这样就导致本地文件与服务器上的文件版本不一致,我想做的就是用服务器上的版本强制覆盖掉本地的版本: 我得到的错误消息如下: 从图中可以看到,git fetch和git pull的区别, git fetch 不会自动的将结果merge到本地,只是将远程版本同步到本地版本库,而不会merge到本地副本. git pull  将会直接把working directory中的内容覆盖掉.

git 服务器搭建,在自己服务器上搭建私有仓库

创建一个简单的私人Git版本控制服务器,首先得有个服务器(屁话).这种方式适合人比较少的情况,管理不需要很复杂,只要增加几个账号就能搞定. 如下面的情况,有一个服务器,两个客户端. 服务器:Debian7.5 (192.168.10.14) 用 户:git (git-shell) 仓 库:sample.git 地 址:[email protected].168.10.14:/home/git/sample.git 客户端:Mac mymac.pub(mac git公钥) win7 mywin.p

在自己的服务器上使用git管理项目

git是一个功能非常强大的分布式版本管理工具,与svn不同的是,它比较易于本地增加分支和分布式的管理方式.但是很多同学在使用git的时候都会一头雾水,那么接下来我先介绍一下git的常用命令. git clone [url] :克隆一个仓库到一个新的目录下. git init:在使用这个命令的时候,首先要cd我们需要构建的工程文件夹中.上面两个命令是最常用的基本命令,接下来要说的是在项目操作,所需要进行添加,提交,推送等命令. git add [filename]:添加一个文件到索引上,这里git