草庐IT

rebase-merge

全部标签

git - 无法 checkout ,文件未 merge

我正在尝试从我的工作目录中删除该文件,但是在使用以下命令之后gitcheckoutfile_Name.txt我收到以下错误信息error:path'first_Name.txt'isunmerged那是什么以及如何解决?以下是我的git状态$gitstatusOnbranchmasterYouarecurrentlyrevertingcommitf200bf5.(fixconflictsandrun"gitrevert--continue")(use"gitrevert--abort"tocanceltherevertoperation)Unmergedpaths:(use"gitre

git merge : Removing files I want to keep!

如何在git中merge两个分支,同时保留分支中的必要文件?merge两个分支时,如果一个文件在一个分支中被删除,而在另一个分支中没有被删除,则该文件最终被删除。例如:创建新分支时,master中存在一个文件您从master中删除该文件,因为我们(还)不需要它您在分支中进行更改以添加一项功能,它依赖于现有文件您在master中修复了错误(不能丢弃)有一天你merge了,文件不见了!如何复制:用一个文件创建一个git仓库。gitinitecho"test">test.txtgitadd.gitcommit-m"initialcommit"创建分支gitbranchbranchA删除mas

git - git 的 merge 策略是什么?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Whenwouldyouusethedifferentgitmergestrategies?当gitmerge我正在处理的文件时,我看到:Mergemadebythe'recursive'strategy递归策略到底是什么?还有哪些其他策略(如果有的话)?使用一个比另一个有什么好处?不同的策略有不同的表现吗?或者两种不同的策略会导致不同的merge结果吗?

Git merge : accept theirs for multiple conflicts

我正在尝试将一个git分支(测试开发)merge回master。有很多merge冲突,但我希望尽可能多地通过--theirs解决。有没有办法告诉git与--theirs批量merge? 最佳答案 如果你正在merge,这会做到:gitmergetest-development#Automaticmergefailed,abunchofconflicts!gitcheckout--theirs./pathgitadd./pathgitcommit 关于Gitmerge:acceptthei

git - 使用 Source Tree,rebase with conflict,冲突解决后 rebase 不起作用

我正在使用SourceTree作为我在Windows上的git工具。我有一个main分支和一个feature分支,当我有冲突时我无法让SourceTree执行rebase。主要看起来像:c1->c2->c4->c5特征看起来像:c1->c2->c3我想对功能进行rebase,这样它将是:c1->c2->c4->c5->c3c3和c5之间存在冲突。我可以解决冲突,但是当我提交更改时,我得到一个HEAD标记,查看我的图表我可以看到feature分支没有重新设置基线。我怎样才能让rebase起作用? 最佳答案 不幸的是,在rebase期间

git - Git merge --squash 和 --no-commit 之间的区别

正如标题所说,我不太清楚gitmerge--squash和gitmerge--no-commit之间的区别。据我了解gitmerge的帮助页面,这两个命令都会让我处于更新的工作树中,仍然可以编辑然后进行最终提交(或多次提交)。有人可以澄清这两个选项的区别吗?我什么时候会使用一个而不是另一个? 最佳答案 gitmerge--no-commit这就像一个普通的merge,但不创建merge提交。此提交将是mergecommit:当您查看历史记录时,您的提交将显示为正常merge。gitmerge--squash这会将更改merge到您的

git 部分 merge ,而不是整个分支

我在Git:mergingpublicandprivatebrancheswhilewhilekeepingcertainfilesintactinbothbranches中读到了一些关于merge的技巧和其他人,但没有找到解决方案。就我而言,我觉得需要采用相反的merge策略。在并行开发中,我必须在任意分支中保持一些文件相同。从另一方面来说,我不想进行压缩或不提交merge,虽然差异很大并且可能会破坏测试分支的当前状态。我想要的是什么gitcheckout测试gitmergeconfig.xml-bdevelopment或gitmergeconfig\*.xml-bdevelopme

git - 我可以在不修改工作副本的情况下对 Git 分支进行 rebase 吗?

假设我检查了我的“master”分支。我已经对“master”进行了一些生产更改,现在我想将我的“实验”分支重新定位到最新的master。但是,我想在不修改工作副本中的任何文件的情况下执行此操作。本质上,我希望所有的魔法都发生在.git目录中,而不触及工作副本。如果不是因为“不要修改我的工作副本”的要求,这只是一个做的问题:#currentbranchismastergitcheckoutexperimentalgitrebasemastergitcheckoutmaster我真正的问题是,这会修改我的工作副本中的时间戳,即使我最后检查的内容与我开始时完全相同。一旦我运行“gitche

Git 错误 : previous rebase directory . git/rebase-apply 仍然存在但给出了 mbox

我正在尝试应用我从http://www.winehq.org/pipermail/wine-devel/2014-May/104356.html获取的补丁.我将其复制到文本编辑器中,并将其保存为my.patch(我需要修复电子邮件,它已被混淆)。我尝试用Git应用它,但我收到了这个错误:sashoalm@sashoalm-VirtualBox:~/Desktop/wine-git$gitam--signoff这个神秘的错误消息让我不知道出了什么问题,也不知道我需要做什么才能让它工作。这个错误是什么意思?我该如何解决? 最佳答案 gi

git - merge 冲突解决

当Git中存在merge冲突时,如下所示的垃圾将被插入到冲突文件中。三个问题:你如何阅读这些注释?解决这些merge冲突时可以使用哪些策略?是否有适用于Mac的GUI工具知道如何读取这些文件并并排显示两个版本以便更轻松地解决问题?注意:如果相关,我使用的是GitHub的MacGUI客户端。 最佳答案 之间的所有内容和======来自HEADrevision,这是开始merge操作之前的提交状态(如果树是脏的,gitmerge会提示,所以它应该等同于你的工作目录)。======之间的部分和>>>>>>来自正在merge的版本。>>>>