草庐IT

mro_merge

全部标签

git - 如何更改 Gitlab 中 merge 的默认目标分支

我们在许多小组和项目中使用Gitlab8.10.1。许多项目恰好是其他项目的分支。我们的问题是,每当有人打开项目的merge请求时,默认目标分支不是项目的默认分支,而是来自一个非常具体的其他项目。有没有办法以某种方式覆盖此设置?只是为了清楚起见,我知道如何设置项目的默认分支并且这些设置看起来是正确的,但是gitlab在创建merge请求时似乎没有使用它们。这个问题非常烦人,当人们不注意并以完全不同的“master”作为目标发出merge请求时,会导致出现奇怪的情况。 最佳答案 默认MR目标取决于存储库是否为GitLabfork.fo

git - 是否可以确定两个 git 分支是否会干净地 merge 而不影响工作目录?

您可以使用gitmerge-base确定是否可以快进,但是是否有一些git技巧可以确定两个分支是否会通过某种策略干净地merge而不实际进行merge?我知道gitmerge--no-commit--no-ff$BRANCH但这会影响工作目录,我想避免这种情况,因为这是网络服务的一部分。 最佳答案 我会通过创建第三个临时分支来做到这一点。假设您要将分支branchFrommerge到branchTo中。然后它会像这样:gitcheckoutbranchTo#onlyifnotalreadyatbranchTogitcheckout-

git - 是否可以确定两个 git 分支是否会干净地 merge 而不影响工作目录?

您可以使用gitmerge-base确定是否可以快进,但是是否有一些git技巧可以确定两个分支是否会通过某种策略干净地merge而不实际进行merge?我知道gitmerge--no-commit--no-ff$BRANCH但这会影响工作目录,我想避免这种情况,因为这是网络服务的一部分。 最佳答案 我会通过创建第三个临时分支来做到这一点。假设您要将分支branchFrommerge到branchTo中。然后它会像这样:gitcheckoutbranchTo#onlyifnotalreadyatbranchTogitcheckout-

Git pull 错误 : Your local changes to the following files would be overwritten by merge:

我正在尝试从远程分支中提取更改,但出现了一个没有意义的错误当我这样做的时候gitpull我回来了error:Yourlocalchangestothefollowingfileswouldbeoverwrittenbymerge:file/name/pathsome/more/filenamepathPlease,commityourchangesorstashthembeforeyoucanmerge.Aborting问题是我没有需要提交的更改当我做git状态#Onbranchmaster#Yourbranchand'origin/master'havediverged,#andha

Git pull 错误 : Your local changes to the following files would be overwritten by merge:

我正在尝试从远程分支中提取更改,但出现了一个没有意义的错误当我这样做的时候gitpull我回来了error:Yourlocalchangestothefollowingfileswouldbeoverwrittenbymerge:file/name/pathsome/more/filenamepathPlease,commityourchangesorstashthembeforeyoucanmerge.Aborting问题是我没有需要提交的更改当我做git状态#Onbranchmaster#Yourbranchand'origin/master'havediverged,#andha

Git:如何为 merge 创建补丁?

当我使用gitformat-patch时,它似乎不包含merge。我如何执行merge,然后将其作为一组补丁通过电子邮件发送给某人?例如,假设我merge了两个分支并在merge之上执行了另一个提交:gitinitecho"initialfile">test.txtgitaddtest.txtgitcommit-m"CommitA"gitcheckout-bfoomasterecho"foo">test.txtgitcommit-a-m"CommitB"gitcheckout-bbarmasterecho"bar">test.txtgitcommit-a-m"CommitC"gitme

Git:如何为 merge 创建补丁?

当我使用gitformat-patch时,它似乎不包含merge。我如何执行merge,然后将其作为一组补丁通过电子邮件发送给某人?例如,假设我merge了两个分支并在merge之上执行了另一个提交:gitinitecho"initialfile">test.txtgitaddtest.txtgitcommit-m"CommitA"gitcheckout-bfoomasterecho"foo">test.txtgitcommit-a-m"CommitB"gitcheckout-bbarmasterecho"bar">test.txtgitcommit-a-m"CommitC"gitme

git - 在冲突的 git merge 后清理?

我在我正在处理的项目中的.h头文件中有一个小冲突。这个项目在Git中被跟踪。幸运的是,冲突很容易解决。我用过gitmerge工具然后选择默认(opendiff),它在我的Mac上似乎是FileMerge。我进行了适当的更改、保存文件并关闭。然后Git问我是否merge成功,我说是:merge成功了吗?[y/n]y但是现在,我有:>gitst#Onbranchdevelop#Changestobecommitted:#modified:MyHeader.h##Untrackedfiles:#(use"gitadd..."toincludeinwhatwillbecommitted)##M

git - 在冲突的 git merge 后清理?

我在我正在处理的项目中的.h头文件中有一个小冲突。这个项目在Git中被跟踪。幸运的是,冲突很容易解决。我用过gitmerge工具然后选择默认(opendiff),它在我的Mac上似乎是FileMerge。我进行了适当的更改、保存文件并关闭。然后Git问我是否merge成功,我说是:merge成功了吗?[y/n]y但是现在,我有:>gitst#Onbranchdevelop#Changestobecommitted:#modified:MyHeader.h##Untrackedfiles:#(use"gitadd..."toincludeinwhatwillbecommitted)##M

merge 提交的 git 显示

当我进行merge提交并运行gitshow#commit时,它只显示提交日志,而不是实际更改的差异,例如commitc0f50178901e09a1237f7b9d9173ec5d1c4936cMerge:ed234bded051Author:abcDate:MonNov2115:56:332016-0800Mergebranch'abc'我知道真正的提交是在merge日志中,但我想保存输入,有没有办法在一个中显示差异? 最佳答案 TL;DR:使用gitshow-mc05f017或gitshow--first-parentc05f0