草庐IT

git - Git 中的 merge 是对称的吗?

假设我们有两个分支(B和C),它们从一个共同的祖先A中分离出来。从Bmerge到C会产生与从Cmerge到B相同的结果吗?A|/\BC为了澄清-我假设任何手动merge冲突解决方案都会在两个方向上发生。但是发生的任何自动merge是否会导致选择相同的代码?这是我的假设,因为提交日期在两个方向上都是相同的。进一步澄清-我知道实际merge会根据方向产生彼此的“镜像”。我只是问自动解决的冲突。 最佳答案 默认merge的答案是肯定的。三路merge找到一个共同的祖先,然后应用双方的差异,这是一个不依赖于顺序的操作。merge排序和交换性

git - 创建一个 GitHub webhook,用于何时接受 pull 请求并将其 merge 到 master

我有一个webhook当前触发push到任何分支。这会过于频繁地触发webhook。理想情况下,只有当pull请求被merge到master时,webhook才会触发。不过,我不认为这是一种选择:有没有办法获得额外的webhook选项或以某种方式自定义webhook? 最佳答案 因此,您无法自定义触发器的条件,但正如LeGec提到的,您可以自定义代码以仅在merge请求请求时触发。为此,请确保您的脚本响应PullRequestEvent.测试的条件是:“Action”是“关闭”“merged”(在“pull_request”内部)是

git - 创建一个 GitHub webhook,用于何时接受 pull 请求并将其 merge 到 master

我有一个webhook当前触发push到任何分支。这会过于频繁地触发webhook。理想情况下,只有当pull请求被merge到master时,webhook才会触发。不过,我不认为这是一种选择:有没有办法获得额外的webhook选项或以某种方式自定义webhook? 最佳答案 因此,您无法自定义触发器的条件,但正如LeGec提到的,您可以自定义代码以仅在merge请求请求时触发。为此,请确保您的脚本响应PullRequestEvent.测试的条件是:“Action”是“关闭”“merged”(在“pull_request”内部)是

git - 什么是 merge 冲突?

我已经创建了一个git存储库并向其中添加了一个文本文件。这是100%用于学习目的。我在文本文件中添加了“1”并将其提交给master。从master创建了一个新分支并附加了“2”。最后,从master创建了一个分支并附加了“3”。您能否解释一下在这种情况下或任何其他情况下,冲突是如何发生的? 最佳答案 merge会产生冲突:branch2到master(无冲突)branch3到master(冲突):那是因为:共同祖先是master(第二行为空)源内容为branch3(第二行包含“3”)目标内容是master的最新内容(第二行包括“2

git - 什么是 merge 冲突?

我已经创建了一个git存储库并向其中添加了一个文本文件。这是100%用于学习目的。我在文本文件中添加了“1”并将其提交给master。从master创建了一个新分支并附加了“2”。最后,从master创建了一个分支并附加了“3”。您能否解释一下在这种情况下或任何其他情况下,冲突是如何发生的? 最佳答案 merge会产生冲突:branch2到master(无冲突)branch3到master(冲突):那是因为:共同祖先是master(第二行为空)源内容为branch3(第二行包含“3”)目标内容是master的最新内容(第二行包括“2

Git pull 要求我写 merge 消息

我从我的分支pull:gitcheckoutmybranchSamplegitfetchgitpulloriginmaster然后,Git给我以下消息:Pleaseenteracommitmessagetoexplainwhythismergeisnecessary,especiallyifitmergesanupdatedupstreamintoatopicbranch在输入提交消息后,它将mastermerge到我的文件中。即使我没有处理master中的某些文件,当我键入gitstatus时,它也会以绿色显示文件列表。这个问题不会发生在我的同事身上,但只发生在我身上。这背后的原因可

Git pull 要求我写 merge 消息

我从我的分支pull:gitcheckoutmybranchSamplegitfetchgitpulloriginmaster然后,Git给我以下消息:Pleaseenteracommitmessagetoexplainwhythismergeisnecessary,especiallyifitmergesanupdatedupstreamintoatopicbranch在输入提交消息后,它将mastermerge到我的文件中。即使我没有处理master中的某些文件,当我键入gitstatus时,它也会以绿色显示文件列表。这个问题不会发生在我的同事身上,但只发生在我身上。这背后的原因可

git - Visual Studio 2013 不提供在 Git pull 上进行 merge

我正在使用VisualStudio2013Update4和git(托管在VisualStudioOnline上)。我在远程分支中有2个本地提交和2个提交。没有要提交的本地更改:当我尝试在VisualStudio中执行Pull(或Fetch)时,出现错误:Anerroroccurred.Detailedmessage:1conflictpreventscheckout是的,有冲突,我应该merge。并根据tothispage我应该得到一个linktoresolveconflict.但我在VS中看不到这一点。我可以在VS之外进行merge,但这不是重点。同时,运行相同设置的我的同事可以毫无

git - Visual Studio 2013 不提供在 Git pull 上进行 merge

我正在使用VisualStudio2013Update4和git(托管在VisualStudioOnline上)。我在远程分支中有2个本地提交和2个提交。没有要提交的本地更改:当我尝试在VisualStudio中执行Pull(或Fetch)时,出现错误:Anerroroccurred.Detailedmessage:1conflictpreventscheckout是的,有冲突,我应该merge。并根据tothispage我应该得到一个linktoresolveconflict.但我在VS中看不到这一点。我可以在VS之外进行merge,但这不是重点。同时,运行相同设置的我的同事可以毫无

git - 当前不在任何分支 + git commit + checkout 不在任何分支时。我丢失了更改吗?

提交更改时,我目前不在任何分支上。我没有真正注意到该消息并检查了另一个分支。如何检索我的更改?我无法merge或checkout,因为没有要merge的分支。 最佳答案 您可以使用gitreflog获取您在“无分支”(分离的HEAD)中所做的提交的提交哈希,并将其merge到您当前所在的分支(也许是大师)类似于gitmergeHEAD@{1}您还可以gitrebase-i并从reflog中“选择”您想要的提交。 关于git-当前不在任何分支+gitcommit+checkout不在任何分