Tag: git rebase

如何在冲突的Git rebase中获得“他们”的变化?

我有冲突的分支,从branch1分支branch2。 比方说,在branch1当前branch1上的branch2时,我决定按branch1取出一些 (不是全部)“他们的”(即branch1 )文件。 我怎么做? 我试过了: git checkout branch1:foo/bar.java fatal: reference is not a tree: TS-modules-tmp:foo/bar.java git checkout refs/heads/branch1:foo/bar.java fatal: reference is not a tree: refs/heads/TS-modules-tmp:foo/bar.java

混帐拉VS混帐取git rebase

另一个问题说, git pull就像是一个git fetch + git merge 。 但是git pull VS git fetch + git rebase什么区别?

如何用远程主人重新绑定本地分支

我已经从远程存储库remote_repo主分支克隆了项目。 我创build了新的分支,我承诺到那个分支。 其他程序员推到remote_repo掌握分支。 我现在需要将我的分支RB remote_repo到remote_repo master。 这个怎么做 ? 什么命令键入到terminal?

从Git的分支中删除提交

我想知道如何删除提交。 通过“删除”,我的意思是好像我没有做出这样的承诺,而当我在将来推进时,我的改变不会推到远程分支。 我读git帮助,我认为我应该使用的命令是git reset –hard HEAD 。 它是否正确?

如何以非交互方式运行git rebase –interactive?

是否有可能做到以下几点? 使git rebase –interactive只输出标准样板文件,而不是输出到文件,并在编辑器中打开它。 让用户编辑文件。 让用户用编辑文件的名称重新运行git rebase 。 继续平常的rebase进程。 用例:当然是脚本重新装订。 看看如何在Git中非交互地重新提交提交 。

如何为git rebaseselect合并策略?

git-rebase手册页提到-X<option>可以传递给git-merge 。 何时/如何? 我想借助recursion策略和他们的选项来应用补丁(应用任何支持,而不是跳过整个冲突的提交)。 我不想合并,我想让历史线性化。 我试过了: git rebase -Xtheirs 和 git rebase -s 'recursive -Xtheirs' 但在这两种情况下git拒绝-X 。 git rebase -Xtheirs在最近的版本中工作,除了树冲突需要手动解决。 你需要运行git rebase -Xtheirs –continue -X在解决这些冲突之后git rebase -Xtheirs –continue (用-X重复)。

挤压Git中的前两个提交?

使用git rebase –interactive <commit> ,可以将任意数量的提交压缩成一个。 除非你想压缩到最初的提交,否则这很好。 这似乎不可能做到。 有什么办法可以实现吗? 中等相关: 在一个相关的问题上,我想出了一个不同的方法来解决第一个犯下这个问题的必要性,也就是把它作为第二个犯。 如果你感兴趣: git:如何插入一个提交作为第一,转移所有其他?

git rebase没有改变提交时间戳

在保留提交时间戳的同时执行git rebase是否有意义? 我相信一个后果就是新的分支不一定会按时间顺序提交date。 这在理论上是可能的吗? (例如使用pipe道命令;只是在这里好奇) 如果这在理论上是可行的,那么在实践中是否可以使用rebase,而不是改变时间戳? 例如,假设我有以下树: master <jun 2010> | : : : oldbranch <feb 1984> : / oldcommit <jan 1984> 现在,如果我在master oldbranch ,提交的date从1984年2月更改为2010年6月。是否可以更改该行为,以便提交时间戳不被更改? 最后我会得到: oldbranch <feb 1984> / master <jun 2010> | : 那有意义吗? 它甚至允许在git中有一个旧的提交具有更近的提交作为父母的历史?

Git:如何一次重新绑定很多分支(具有相同的基本提交)?

我在我的项目中有一个主分支,用于从其他人那里获取更改。 从那以后,我通常有几个主题分支,我目前正在工作。 我的问题是:有什么办法让我把新的变化引入我的主人,然后把我所有的话题分支变成同一个人? 这是情况: D–E topic1 / A–B–C master \ F–G topic2 我想用一个命令完成这个(H来自上游): D' – E'topic1 / A – B – C – H主人 \ F' – G'topic2 现在,我知道我可以通过将主题1和主题2分配到主人来完成此任务,甚至可以编写一个脚本来自动执行此操作。 但是如果我有其他几个分支,经常创build新的分支并删除其他分支,我会一直收到上游的变更? 这个操作(几个rebase),手工完成,既累人又容易出错。 有一个更简单的方法吗? 谢谢!

重新包含所有子项目的分支

我有以下的Git存储库拓扑: ABF (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 通过重新设置feature分支,我希望重新整个子树(包括子分支): $ git rebase feature master ABF (master) \ D (feature-a) \ / C (feature) \ E (feature-b) 但是,这是实际的结果: C' (feature) / ABF (master) \ D (feature-a) \ / C \ E (feature-b) 我知道我可以通过执行: $ git rebase –onto feature C feature-a $ […]