问题标签 [fast-forward]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gitlab - Gitlab合并请求快进合并
我正在尝试使用 gitlab-ci 为我的团队设置一个 gitlab worflow。我们有一个带有 gitlab CI 的 Gitlab CE 版本 10.2.4,配置为在每次推送时运行构建。现在我们想将合并请求工作流与受保护的开发和发布分支一起使用。我们的要求是,如果不先在 gitlab-ci 上运行,就不能将任何代码合并到这些分支中,以保持这些分支的清洁。
由于 gitlab 似乎没有自动测试合并请求的可能性,我们唯一的选择是使用Merge commit with semi-linear history
or 或Fast-forward merge
. (参见gitlab 上的公开问题)
问题是由于这些合并选项需要快进,如果为同一个目标分支创建多个合并请求,则接受一个合并请求会更改目标分支。这会阻止其他合并请求被合并,因为它们不再是快进的。这意味着每次我们接受合并请求时,我们都必须将所有其他合并请求与目标分支重新绑定/合并,这非常乏味。
任何人都可以在 gitlab 上使用Fast-forward merge
选项来解释他们如何处理这种多重合并请求场景吗?还是有其他方法可以确保在合并之前测试代码而不需要快进?
git - Github中的快进错误
作为我正在做的在线课程的一部分,我是 git 的新手。
目前正在做一个教程,当我第一次推送到 master 时收到以下错误消息:
我尝试了 git pull,但这也不起作用:
这是一个全新的 Github 帐户,带有一个新的/空的 repo。
关于出了什么问题以及如何解决这个问题的任何想法?
谢谢
git - 一个新文件,git 需要合并,为什么?
在家里,我添加do_next.py
并成功将其推送到存储库。在工作中我创建cat.py
,提交并尝试push
失败:
如果我pull
,git 要求我合并(输入合并评论)。
请解释为什么需要合并?我认为,由于我刚刚添加了一个新文件,fast-forward
就足够了,并且没有强制合并。
此外,对于这个必需的提交,我想不出一个明智的信息。使用:git 版本 2.1.4 Debian Jessie
mpeg-dash - MPEG-DASH 特技模式表示
DASH-IF 文档解释说,为了支持技巧模式,应在 MPD 中添加单独的表示(来源)
该文件还指出,内容所有者应
使用属性@maxPlayoutRate 为每个表示发送播放功能信号,以指示由发送信号的编解码器配置文件和级别启用的加速播放。
任何人都可以提供一个适应集的示例,显示应包含在表示中以支持特技模式的信息。另外,我们可以为不同级别的媒体流设置不同的@maxPlayoutRate 值吗?如果是,我们如何使用 MPD 发送此信息。
git - 无法推送到 Github 非快进错误
我在一个网站上工作,我正在使用 React-create-app 和它的 webpack 配置。我一直在推动 Github 回购,没有任何问题。几天前,我把我正在制作的网站变成了一个 Github Pages 网站(即 mygithubname.github.io)。
将此 repo 转换为 Github Pages 站点后,我的项目 repo 的结构发生了变化。看起来它为了将代码放到网上而最小化了代码。一旦我推送了这个 repo 并让它成为一个 live 的 Github Pages 站点,我突然就不能再推送到 repo 了。
如果我推送到 repo,我会收到一个错误:
我在网上做了一些搜索,并试图git pull origin master
纠正这个问题。如果我尝试删除 75% 的项目,并且我的大部分组件都会丢失。这是结果git pull origin master
:
它删除了我的大部分项目。我通过git reset --hard
. 我找回了我的项目文件,但我仍然无法推送到 Github。
这是将我的网站变成 Github Pages 网站后我的仓库发生的情况。正如你所看到的,它删除了我的大部分项目,这似乎是我去时要恢复的内容git pull origin master
。
我该如何解决这个问题?我想让我的分支走上正轨,这样我就可以继续推进它而不会丢失所有这些文件。
git-rebase - `Rebase and merge` 合并策略在 Bitbucket Server 上有什么作用?
我正在探索 Bitbucket Server 上可能的合并策略,其中一个策略引起了我的注意:“变基和合并”rebase + merge --no-ff
我知道大多数关于合并策略的辩论都围绕着变基与合并。这种合并策略似乎是变基和合并。这个对吗?与仅变基或仅合并相比,这会带来什么优势?
git - 如何用 Git 中的文件快速替换子模块?
当我尝试 git pull 执行以下操作的提交(或一组提交)时,Git 中止合并:
- 删除位于子目录中的子模块
- 在子目录下添加子模块的内容(不同的文件,相同的文件名)
如果我将它拆分为每个操作的单独 git pull,我没有合并冲突。不过这是有问题的,因为其他用户在他们 git pull 第二次提交之前无法编译项目,只要有人没有拉第一次提交,我就无法推送。
有没有办法在 Git 中快速推进这种变化?
更新:
这是我的存储库结构:
这些是我从本地存储库执行的命令:
现在,这是不同本地存储库(例如同事的)的状态
现在同事尝试 git pull 两个提交:
我所说的“两个单独的 git pull”是指当我的同事拉出第一个删除子模块的提交时。这不会导致任何问题。之后,我推送第二次提交,它将文件添加回主存储库。最后,他们拉第二次提交。再一次,没有问题。
为什么这在上面段落中解释的“在两个 git pull 中”起作用,而在一个 git pull 中不起作用?
我能做些什么来让这项工作在一个 git pull 中完成吗?
git - 启用快进选项的 git rebase
假设我有这样的情况:
通过使用与Wherei
合并f
:
好了,现在我要到rebase
了。Branch1
master
如果我使用git rebase master Branch1
结果是:
它刚刚合并,忽略了我以前--no-ff
的 .
问题:
有类似的指令git rebase --no_ff ...
吗?
我想要实现的是:
在网上看(包括stackoverflow)我找不到任何有用的信息。
github - 如何在 GitHub 上进行快进合并?
因此,我的一位同事试图在 Web 界面中使用 GitHub 的“通过快进合并”选项合并一个分支,以保持历史记录免受虚假合并提交的影响(master
他们合并的分支,自那时起就没有进展——被合并的功能分支已启动)。
有趣的是,这并没有按预期工作:所有提交都有新的提交哈希。
仔细观察,似乎合并选项实际上被称为“Rebase and Merge”,它似乎确实等同于git rebase --force
改变提交者信息(进行合并的人,以及合并发生的时间)。
我花了很长时间才确认我的怀疑确实是这种情况,因为我无法让 cmdline 工具向我展示功能分支上的原始提交和看似相同的提交(具有不同的哈希)之间的区别在主分支上。(最后,我发现它gitk
同时显示了提交的提交者和作者;最后我发现我也可以通过 获取此信息git log --pretty=raw
)
所以:
- 有没有办法通过 GitHub 的网络界面进行“适当的”快进合并(没有选项)
git rebase
?--force
- 如果不是:为什么?(我可以看到问责制的优点;例如,它回答了给定代码最终出现在谁负责的问题
master
)
git - 推送不同的提交以覆盖分支上的先前提交
是时候问一个菜鸟问题了。对不起,如果它看起来太基本但无处可去,提前谢谢。
我创建了一个分支来推送我的更改并在该分支上工作了一段时间。但是master同时更新了。我需要从 master 中提取更改然后返回到我的分支,但在此过程中修改了一些代码,现在我无法推送到分支。我尝试阅读 git 手册和快进部分,但此时似乎没有任何意义,因为我对 git 有点陌生。
TLDR;
Master ------ 当前状态
\
\
\
\
要覆盖的分支
我想要做的是在不破坏分支的情况下将当前阶段推送到分支以被覆盖,但分支的内容可能在过程中被破坏,这并不重要。
再次感谢。