Questions tagged «rebase»

在版本控制系统中更改分支的起点。


17
撤消git rebase
有人知道如何轻松撤消git rebase吗? 想到的唯一方法是手动进行操作: git签出两个分支的提交父对象 然后从那里创建一个临时分支 手动选择所有提交 用手动创建的分支替换我重新建立基础的分支 在我目前的情况下,这是可行的,因为我可以轻松地发现两个分支的提交(一个是我的东西,另一个是我同事的东西)。 但是,我的方法给我的印象是次优且容易出错(例如,我刚刚使用自己的两个分支进行了重新基准化)。 有任何想法吗? 澄清:我说的是在重新部署一堆提交时进行的重新部署。不只是一个
3177 git  rebase  git-rebase  undo 

20
Git拒绝合并基础上无关的历史记录
在git rebase origin/developmentGit中显示以下错误消息期间: fatal: refusing to merge unrelated histories Error redoing merge 1234deadbeef1234deadbeef 我的Git版本是2.9.0。以前在以前的版本中可以正常工作。 如何使用新版本中引入的强制标志继续进行此基础更改,以允许不相关的历史记录?
2141 git  rebase 

5
git cherry-pick说:“…38c74d是合并,但未提供-m选项”
我在master分支中进行了一些更改,并希望将其引入上游。当我选择以下提交时,但是我陷入了git说的fd9f578上: $ git cherry-pick fd9f578 fatal: Commit fd9f57850f6b94b7906e5bbe51a0d75bf638c74d is a merge but no -m option was given. git试图告诉我什么,并且在这里正确使用是正确的选择?master分支确实包含对文件的更改,这些更改已在上游分支中进行了修改,因此我确定会有一些合并冲突,但是合并冲突还算不错。我知道哪些地方需要更改。 这些是我想带入上游的提交。 e7d4cff added some comments... 23e6d2a moved static strings... 44cc65a incorporated test ... 40b83d5 whoops delete whitspace... 24f8a50 implemented global.c... 43651c3 cleaned up ... 068b2fe cleaned up version.c ... fd9f578 Merge branch …
518 git  merge  rebase  cherry-pick 




2
如何在Git重新设置冲突的中间获取“他们的”更改?
我有冲突的分支,branch2从branch1分支。 假设在branch2基于current的基础上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
349 git  rebase  git-rebase 

8
从git / GitHub的历史记录中删除文件夹及其内容
我在GitHub帐户上的存储库上工作,这是我偶然发现的一个问题。 带有安装了几个npm软件包的文件夹的Node.js项目 包在node_modules文件夹中 将该文件夹添加到git存储库中,并将代码推送到github(当时不考虑npm部分) 意识到您并不需​​要该文件夹成为代码的一部分 删除该文件夹,将其推送 在那种情况下,总git repo的大小约为6MB,而实际代码(除该文件夹以外的所有代码)仅为300 KB左右。 现在,我最后要寻找的是一种从git的历史记录中删除该软件包文件夹的详细信息的方法,因此,如果有人对其进行了克隆,则无需下载价值6mb的历史记录,而只有这些文件才可以获取截至上一次提交将为300KB。 我为此找到了可能的解决方案,并尝试了这两种方法 从git存储库中删除文件(历史记录) http://help.github.com/remove-sensitive-data/ https://gist.github.com/1588371 Gist似乎在运行脚本后在哪里工作,它表明它删除了该文件夹,并表明修改了50个不同的提交。但这并没有让我推送该代码。当我尝试推动它时,它说Branch up to date但显示对50个提交进行了修改git status。其他2种方法也无济于事。 现在,即使显示它摆脱了该文件夹的历史记录,当我在本地主机上检查该存储库的大小时,它仍约为6MB。(我还删除了该refs/original文件夹,但没有看到存储库大小的变化)。 我要澄清的是,是否有一种方法不仅可以消除提交历史记录(这是我认为唯一发生的事情),而且可以摆脱那些git一直假设要回滚的文件。 可以说为此提供了一个解决方案,该解决方案已在我的本地主机上应用,但无法复制到该GitHub存储库,是否可以克隆该存储库,回滚到第一个提交执行该技巧并将其推送(或者这意味着git将还有所有这些提交的历史吗?-又名6MB)。 我的最终目标是从根本上找到从git摆脱文件夹内容的最佳方法,以便用户不必下载6MB的内容,而仍然可以拥有从未触及modules文件夹的其他提交(这很漂亮很多))在git的历史中。 我怎样才能做到这一点?
318 git  github  rebase  git-rebase 

3
我可以在git中默认关闭快速转发吗?
我真的不能没有想过的时候,我会用git merge,而不是git rebase和不希望有一个提交露面。有什么方法可以将git配置为默认情况下具有快速转发功能吗?有一个--ff选项的事实似乎意味着有一种方法,但是我似乎无法在文档中找到它。

15
在Git中的根提交之前插入提交?
我之前曾问过如何压缩 git存储库中的前两个提交。 尽管解决方案相当有趣,并且不像git中的其他某些东西那样令人费解,但如果您需要在项目开发过程中多次重复该过程,那么它们仍然会给我们带来很多伤害。 因此,我宁愿只经历一次痛苦,然后才能永远使用标准的交互式基础。 那么,我想做的是拥有一个空的初始提交,仅作为第一个提交而存在。没有代码,什么都没有。只是占用空间,因此它可以作为基础的基础。 那么我的问题是,拥有一个现有的存储库,我该如何着手在第一个空的提交之前插入一个新的空提交,并将其他所有人向前移动?

5
汞:如何做像git的rebase的rebase
在Git中,我可以这样做: 1.开始使用新功能: $ git co -b newfeature-123#(本地功能开发分支) 进行几次提交(M,N,O) 大师A --- B --- C \ newfeature-123 M --- N --- O 2.从上游主服务器获取新更改: $ git pull (master更新为ff-commits) 大师A --- B --- C --- D --- E --- F \ newfeature-123 M --- N --- O 3.调整主站的基础,以便使用新功能 可以针对最新的上游变化进行开发: (摘自newfeature-123) $ git rebase master …
207 git  mercurial  dvcs  rebase 

8
结合Git仓库的前两个提交?
假设您有一个包含三个提交A,B和C的历史记录: A-B-C 我想将两个提交A和B合并到一个提交AB: AB-C 我试过了 git rebase -i A 这将打开我的编辑器,其中包含以下内容: pick e97a17b B pick asd314f C 我将其更改为 squash e97a17b B pick asd314f C 然后Git 1.6.0.4说: Cannot 'squash' without a previous commit 有办法还是这不可能?

5
重定一个Git合并提交
采取以下情况: 我在主题分支中有一些工作,现在可以合并回master了: * eb3b733 3 [master] [origin/master] | * b62cae6 2 [topic] |/ * 38abeae 1 我从母版执行合并,解决了冲突,现在有了: * 8101fe3 Merge branch 'topic' [master] |\ | * b62cae6 2 [topic] * | eb3b733 3 [origin/master] |/ * 38abeae 1 现在,合并花费了我一些时间,因此我又进行了一次提取,并注意到远程主分支具有新的更改: * 8101fe3 Merge branch 'topic' [master] |\ | * b62cae6 2 …

3
git rebase,跟踪“本地”和“远程”
在进行git rebase时,解决冲突时,我经常很难弄清“ local”和“ remote”的情况。有时我给人的印象是,他们从一次提交交换到下一次提交。 这可能(肯定)是因为我仍然没有正确理解。 重新定基时,谁是“本地”,谁是“远程”? (我使用P4Merge解决冲突)
174 git  conflict  rebase 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.