git - 参数是什么和在 Git 和 GitHub 中是什么意思?
问题描述
我是 Git 和 GitHub 的新手。我刚开始学习。这很可能是一个非常愚蠢的问题,我很抱歉提出这样的问题。所以,这是我的问题——
我对以下命令的含义<refname>
和含义感到困惑:<expect>
git push --force-with-lease=<refname>
git push --force-with-lease=<refname>:<expect>
我知道git push --force-with-lease
,在默认/没有任何指定参数的情况下,将拒绝更新分支,除非远程跟踪分支(本地分支)和远程分支指向相同的提交引用。
但是,我无法理解git push --force-with-lease
这些参数与它一起使用时的工作原理,因为我不明白这些参数的确切含义。
因此,如果有人可以演示一些使用这些参数的命令的示例,并解释这些参数的确切含义,我将不胜感激。
解决方案
我在“默认情况下”中提到了--force-with-lease=<refname>:<expect>
语法push --force-with-lease
如果您不提供预期值,主要问题是像 Microsoft 的 VSC 这样的编辑器具有在后台自动获取的功能,它绕过了--force-with-lease
&提供的保护--force-with-lease=<refname>
当您从多个存储库编辑文件时尤其如此,这意味着多个远程“来源”(每个存储库一个)
例如,为了更加安全:
git fetch # update 'master' from remote
git tag base master # mark our base point
git rebase -i master # rewrite some commits
git push --force-with-lease=master:base master:master
那将
- 为您已经看到并愿意覆盖的上游代码版本创建一个基本标记,
- 改写历史,
master
如果远程版本仍为 ,则base
强制推送更改,无论您的本地remotes/origin/master
已在后台更新到什么。
推荐阅读
- beagleboneblack - 如何在 beaglebone black 上安装和运行 PyPy?
- django - django 日志记录无法设置 maxBytes
- javascript - 在 Angular 中等待 http 请求
- java - 如何检查TextView是否在android中有图像
- java - 将 YUV_420_888 中的图像从 Android 发送到 OpenCV Mat 中的 JNI 的最有效方法
- sql - PowerShell:如何在“ROLLBACK TRANSACTION”之前将“Write-Host”放置在 SQL 代码中
- git - 无界 git bisect
- javascript - 如何使用 javascript 正确发布 x-www-form-urlencoded 数据?
- blockchain - 需要从任何区块链上的块中检索交易
- sql-server - 如何在 MSSQL 中查找两个表之间的差异