`
jerry_chen
  • 浏览: 280448 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

本地git版本覆盖远程的方法

阅读更多

起因:现场开发和公司内部开发相结合,一段时间双方未同步,但可以肯定现场的代码最新,所以回公司后就拿本机代码覆盖远程仓库代码。

 

步骤如下:

 

首先,我远程仓库的config文件里设置过如下内容(默认新建的git仓库是不允许被修改的,所以这里放开修改权限):

[receive]   

denyCurrentBranch = ignore

 

其次,执行如下命令,用本地文件直接覆盖远程仓库:



 

 

参考了如下博客:http://minotes.net/notes/48

 

原文如下:

 

有时候由于某些误操作(如错误的将其他分支 merge 过来),导致远程分支错误,需要强制覆盖远程分支。可以使用命令 git push origin branch-name --force 来强制覆盖。

不过,基于安全性考虑,你的远程 git 可以禁止改操作,你可以通过修改远程仓库的 config 文件来临时允许覆盖操作:

[receive]
  denyNonFastforwards = false # change to false to enable overwriting

覆盖完成之后,记得把这个标志再改回 true ,以提高仓库的安全性,避免错误的覆盖操作。

注意 如果远程的代码仓库为多个人共享访问时,其他人的 push 操作可能会再次将错误的 merge 引入远程分支(因为其他人本地存放的分支仍然是旧的)。 除非事先和所有的成员沟通好,让大家将本地的错误分支删除,否则这种方式不可取 。

因此, 如果是团队开发,最好是使用 revert 命令来回滚 ,而不是覆盖。这样虽然历史记录不太干净,但是比较安全。回滚一个 merge 的命令如下:

git revert merge-commit-hash -m 1
  • 大小: 11.1 KB
分享到:
评论

相关推荐

    Git-2.23.0/win64/32/mac 多文件

    *在最近的Git版本中,每个工作树的引用都暴露在外 refs / worktrees / <wtname> / hierarchy,表示工作树名称 必须是有效的refname组件。代码现在清理名称 给予工作树,确保这些参考文件格式正确。 *“git ...

    gitric:用于Fabric的简单基于git的部署

    由于git是分布式的,因此您可以从本地存储库中推送信息,并减少对外部资源的依赖,并限制对私有存储库的内部网络访问,但仍然可以实现快速的git部署。 安装 pip install gitric 特征 使用git push而不是git pull。 ...

    提示:最常用的git提示和技巧

    git-tips git-tips集合,想要添加...filter ' git rm --cached --ignore-unmatch <path> ' --prune-empty --tag-name-filter cat -- --all && git push origin --force --all与远程同步,覆盖本地更改git fetch origin

    kirby-git:Kirby插件,用于通过Git更新面板中的内容

    注意:此插件需要Git 2.22.0或更高版本。 在检查如何在服务器上更新它。 用法 为了成功使用此插件(通常是Git),您需要单独的分支,以避免覆盖历史记录。 假设您的存储库托管在GitHub上。 这意味着您有一个名为...

    auto-updater:Node.js自动更新插件

    将本地版本与远程版本进行比较。 如果版本不匹配,它将下载存储库。 它提取存储库,覆盖已修改的文件。 比较本地依赖项和远程依赖项,并判断它们是否不匹配。大事记git-clone用户具有git克隆。 推荐使用“ git pull...

    sublime-text-3-settings:Sublime Text 3 的个人设置

    将远程文件下载到我们的本地存储库中。 git fetch 使用存储库中的设置覆盖现有的 Sublime Text 3 设置。 为防止丢失本地更改,请在重置状态之前“提交”或“存储”。 git reset --hard origin/master GIT(通过...

    VScode使用ssh钥匙连接远程服务器(免去重复输入密码的烦恼)

    本地连接远程云服务器: 文章目录客户端注意事项服务器端 客户端 安装git bush https://gitforwindows.org/ 然后找一个空白位置(比如桌面)右键 Git Bash Here 在命令窗口创建一对钥匙(公钥和私钥) 创建新的...

    IDEA的设置:IDEA的设置

    覆盖本地或覆盖远程 #主题 #字体 推荐DejaVu Sans Mono,这个字体绝对爽翻 第二推荐Courier或Courier New IDEA应用字体 *代码字体 *预览 #常用插件 阿里巴巴Java编码指南阿里巴巴编程规范,可以检查自己的java...

    armada:该项目已移至OpenStack

    Armada还支持获取Helm图表源,然后从各种本地和远程位置(例如Git端点,tarball或本地目录)从源构建图表。 通过协助两个值,值覆盖和实际模板更改的差异,它还将为操作员提供一些有关即将更改的内容的指示。 它的...

    cblaster:从 BLAST 搜索中查找聚类命中

    给定一组蛋白质序列, cblaster可以远程(通过 NCBI BLAST API)或本地(通过DIAMOND )搜索序列数据库。 根据用户对身份、覆盖范围和电子值的阈值来解析和过滤搜索结果。 剩余命中的基因组坐标是从 NCBI 的相同...

    gitdox:GitHub数据存储在线XML编辑器GitDOX的存储库

    使经验不足的Git用户无法发生冲突(每个提交的版本都会覆盖以前的文档,但仍然是可区分的) 使用仪表板协调注释 您可以使用验证规则和分配来检查文档状态 内置元数据和导出功能来管理数据发布 结合版本控制

    openedx-server-prep:为所有人提供一种简单但灵活的方式来准备服务器以安装Open edX实例

    覆盖范围 涵盖的安装类型 当前,创建剧本是为了准备 Wiki页面上所述的。 现在还支持备份和还原剧本。 注意:目前,此剧本仅转储和还原包含用户MySQL和包含课程的MongoDB。 功能和选项 准备配置文件 从本地文件夹...

    LaForge:CS 361 拉福吉队

    常见问题##Can't pull because unmerged files WARNING: 这将删除本地更改并覆盖原点“获取当前分支并将其指向远程分支的 HEAD” git fetch origin git reset --hard origin/master

    log-api:使用Koa,Kafka和Postgres的示例日志API

    必须通过命令行(作为docker并通过远程API在本地访问Docker。 有关如何在平台上安装的信息,请参阅。 安装 克隆存储库 > git clone https://github.com/a-s-o/log-api.git > cd log-api 安装并开始使用: > npm ...

    KODExplorer 芒果云-资源管理器

    - 自动升级(本地记录版本,服务器js调用 参数 url、###version;忽略此版本。cookie。统计用户) ###ver2.0 debug `2014/3/2` ---- ####fix bug:(bug解决和程序优化) - 优化文件打开处理 - 文件&文件夹:含有%...

Global site tag (gtag.js) - Google Analytics