问题标签 [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.
git - No-FF for merges from a long time ago
In our Git repository we have a few merges from branches that should have been merged with --no-ff
but were not. These merges were made a long time ago.
Is there any way to force/insert a commit as if we were running those old merges with the --no-ff
argument?
One of the supers on the project enjoys GitHub's network view and wanted to be able to see the individual branches, which are all merged into one line when a fast-forward occurs.
git - Git推送不能快速合并是什么意思?
有人可以提供一个简单的示例,说明由于无法进行快进而导致 Git 推送到中央仓库失败的原因吗?本地回购与中央回购的状态需要是什么样子才能发生这种情况?真的很难想象这个......
git - `--squash` 和 `--no-ff --no-commit` 有什么区别?
应该使用哪一个来隐藏微提交?
唯一的区别是git merge --squash
和git merge --no-ff --no-commit
其他父母的否认吗?
git - Gerrit 代码审查推送到空仓库不起作用
我安装并配置了我自己的 Gerrit 服务器。我使用 Gerrit 的 web gui 创建了一个存储库。我可以使用“git”命令成功克隆这个空存储库,所以配置似乎很好。接下来,我:
配置了我的访问权限:
git config --global user.email ...
,git config --global user.name ...
,添加了遥控器:
git add remote origin myUser@myGitHost:29418/project.git
,创建并提交文件:
git add file
, gitcommit -m "first commit"
。
到现在为止还挺好。
但是,当我尝试将其推送到我的仓库时,我得到了输出:
我试图寻找解决方案。" git pull origin master
" 不起作用。-f
使用选项推送也不起作用。
谁能帮我?
编辑: push -f 的输出:
我所说的“git pull origin master”的意思是人们提到的最解决方案是在推送之前进行拉取,例如:http ://rip747.wordpress.com/2009/04/20/git-push-rejected -非快进/。这个拉输出:
但是当我推送时,输出仍然是一样的:
无法将参考更新为快进。
git - Dulwich:如何检测快进?
正如标题所暗示的,我怎么知道远程分支是否是本地分支的祖先,反之亦然?
git - 如何允许在 gitolite 删除远程分支并禁止非快进
我们需要允许开发人员:
1)创建主题分支并将它们保存在远程仓库中。
2)做改变。
3)合并到“开发”分支。
4)删除主题分支(git push origin :TestRemoteBranch)。
但我们宁愿禁止使用具有使用 RW 权限的非快进合并。但是这个权限也禁止删除主题分支。
有什么方法可以避免非快进合并并允许删除主题分支(不是“开发”和“主”)?
git - 提交发布两次:合并远程跟踪分支'origin'
我从存储库(上游)分叉,然后在本地进行更改并推送到我的存储库(源)。
除此之外,我的大部分工作都是在控制台上完成的,今天我在笔记本电脑上完成了一些工作。
我在控制台上推到原点,然后git fetch origin; git merge origin/master
在第二天在我的笔记本电脑上推。
发生的事情是,我把前一天的所有更改都提交到我的笔记本电脑上,然后将它们推回原点。现在,我的 origin/master 上有两组提交用于相同的工作,一次用于控制台,一次用于笔记本电脑。
我之前读过我应该发布一次,虽然我当然不考虑改变这个推送的历史,但我确实希望在工作站之间发生故障时避免这种情况。提交历史看起来很混乱。
我认为这个--no-ff
选项git pull
看起来很有希望,但我找到的关于这个主题的大部分信息都是关于保持本地分支同步,因为其他人正在开发 master。
git - 即使在“git pull”之后,Git 也会出现“非快进更新”错误
Github 是我项目的默认存储库(只是将“origin”重命名为“github”)。发生了一些事情,以至于“git push”导致“非快进更新”错误,即使“git push github master”有效。“git pull”和“git pull github master”都表示最新状态。我如何 (a) 确保 Github 上没有未合并的更改并 (b) 更正非快进错误?
我的 git 配置文件是
git - Git 状态显示 X 提交前的本地分支 - 应该只有 1
我一直在堆栈和其他论坛上搜索并尝试各种解决方案,但似乎无法解决这个问题。
Git:Branch 领先于 X 次提交。没有帮助做 git pull
当我看起来是最新的并且推拉(无文件)修复它时,为什么 git 说我提前 40 次提交?
当我需要 *pull* origin master 时,为什么它会说“您的分支比 origin/master 领先 857 次提交”
总体问题是我拉了一个站点结帐,然后不得不对配置(数据库、api 位置等)进行一些本地更改,并防止每次我继续提交本地更改时都必须存储和重新应用这些文件。我在 1 个本地提交下完成了所有这些作为“本地配置提交”。而此时 git status 显示其提前 1。
然而,在过去的一个月里,我们一直在开发和修复一些东西。我们都从我们单独的分支中工作并合并回一个开发分支,然后从那里到 master 等等。一切准备就绪后,我进入生产环境并使用“git pull”拉下更改。这似乎一直运作良好,但是我今天注意到状态现在已经改变。
当我查看针对 origin/master 的 git 日志时,似乎我看到合并作为本地提交进入?
小日志片段:
我怀疑我的回购已经被适当地“快进”了,并且在每次拉取后仍然提前 1 次提交。在对 origin/master 进行比较时,您可以看到我没有太多更改(似乎)只是配置。这是来自原始配置更改和本地提交。
我已经尝试了上面的各种链接,并尝试了获取、更多拉取等,但均无济于事。有没有一种方法可以让我的本地仓库正确地快进,这样我只能看到我所做的 1 个本地提交是我的 var 'ahead'?我不能完全将这些更改推送到 master,因为这会导致这些更改被拉到其他安装。然后我想在解决这个问题之后,最好的部署方式是什么,更改一些配置并能够不断更新。根据我的理解 stash 会起作用,但这实质上会使您的更改不合适,然后您可以拉动,然后重新申请,但我无法承受这个小步骤的停机时间,特别是如果它涉及必须整理任何合并冲突。
或者,有没有办法可以以某种方式将这些文件从提交中提取出来,以便我可以推动对所有内容进行排序?
git - Git 快进替换整个 repo 删除以前的历史记录
github 上有一个名为A的仓库。我从 github 将此 repo 克隆到我的本地。原始存储库 A 有一个名为“a”的分支,它是 A 的先前版本。存储库所有者的提交删除了历史记录并替换了存储库中的所有文件。在 github 上,如果你比较这两者,它会说,A and a are entirely different commit histories
我的问题是我想推送一个同步的提交,就像在所有者快速转发主分支之前的备份。但是如果我在提交之前 git pull (这是一个很好的做法)我肯定会遇到问题,因为它根本不同步。
最好的解决方案是停止跟踪 master 所做的事情并将其替换为我所知道的不可能的分支。我应该怎么做才能删除快进提交并使其同步回“a”分支。
PS repo 的所有者得到![rejected] master -> master (non-fast-forward)
它,他试图做一个 git pull。说“他当前分支的尖端在其远程分支的后面”
如果任何部分不清楚,请随时询问,我连续 2 天遇到这个问题!谢谢。