标签: git-merge

如何通过命令行创建GitLab合并请求

我们正在努力将GitLab(企业版)集成到我们的工具中,但仍然在我们的愿望清单中的一件事是通过命令行(或批处理文件或类似文件)在GitLab中创建合并请求.我们希望将其整合到我们的工具中.在这里和网上搜索让我相信使用原生GitLab是不可能的,但我们需要额外的工具.

我对么?我想用什么样的工具呢?

git-merge gitlab

32
推荐指数
7
解决办法
5万
查看次数

git checkout而不覆盖数据

你怎么能git-checkout不覆盖数据?

我跑

 git checkout master
Run Code Online (Sandbox Code Playgroud)

我明白了

error: Entry 'forms/answer.php' would be overwritten by merge. Cannot merge.
Run Code Online (Sandbox Code Playgroud)

这是令人惊讶的,因为我不知道Git合并时我git-checkout.我总是分别在命令之后运行git merge new-feature.如果Git在结账时合并,这似乎显然是不必要的.

git git-merge git-checkout

31
推荐指数
2
解决办法
4万
查看次数

如何"不能合并"?

这对我来说是新的.我是一个相当有经验的git用户,刚刚从我的分叉中添加了一个遥控器,获取了更新,然后尝试将它们合并到:

$ git merge HEAD f6ff240dbf47234249a68b34c8a98bb11237aa7
fatal: f6ff240dbf47234249a68b34c8a98bb11237aa7 - not something we can merge
Run Code Online (Sandbox Code Playgroud)

网络上几乎没有关于此错误消息的内容,这让我感到震惊.我能找到的最近的事情是这个页面关于处于一个独立的头状态.但有git status报道称我在分公司主人身上.

你可以看到我试图在github上使用的存储库 - 我的repo我想要从中获取遥控器.在撰写本文时,我的回购大师是6dc048862a93ffba6cd37883fd43e40651f248c1.

查看历史记录,我可以看到fork分叉的位置,并且我正在尝试合并来自3个提交的提交.这似乎并不难.

要为自己复制,你可以这样做:

git clone https://github.com/aptivate/dye
cd dye
git remote add qris git://github.com/qris/ping-dye.git
git fetch qris
git checkout master
git merge f6ff240dbf47234249a68b34c8a98bb11237aa7
Run Code Online (Sandbox Code Playgroud)

git git-merge

31
推荐指数
1
解决办法
3万
查看次数

如何将develop分支中的git提交合并到一个功能分支

我的git仓库中有一个开发分支和一个功能分支.我添加了一个开发提交,现在我想将该提交合并到我的功能分支.如果我这样做

git checkout feature
git merge develop
Run Code Online (Sandbox Code Playgroud)

我最终得到了合并提交.由于我将频繁地将关于开发的新提交合并到我的功能分支,所以我想避免所有这些不必要的合并提交.我看到这个答案建议做一个git rebase develop但是它最终会重新绕过我的分支方式而且rebase失败了.

更新: 我最终做的是

git checkout feature
git merge develop # this creates a merge commit that I don't want
git rebase # this gets rid of the merge commit but keeps the commits from develop that I do want
git push
Run Code Online (Sandbox Code Playgroud)

更新:我刚刚注意到,当我合并然后rebase到功能分支时,开发时的原始提交会获得不同的哈希.我不认为这就是我想要的,因为最终我会将功能合并到开发中,我猜这不会很好.

git git-merge git-rebase feature-branch

31
推荐指数
2
解决办法
4万
查看次数

为什么Git创建一个没有文件更改的合并提交?

我正在与某人合作开展一个项目,所以我们决定使用git.不幸的是,我们经常在没有互联网的地方编码,所以我们最终会得到这样的结果:

origin/master: A---B---C
                        \
mylocalmaster:           D---E---F
                        \
hismaster:               G---H---I
Run Code Online (Sandbox Code Playgroud)

现在,说他推动他的提交并得到这个:

origin/master: A---B---C---G---H---I
                        \
master (local):          D---E---F
Run Code Online (Sandbox Code Playgroud)

我想做的就是推动我的提交,以便在我的本地仓库和在线仓库中获取:

A---B---C---D---E---F---G---H---I
Run Code Online (Sandbox Code Playgroud)

它似乎工作,当我做git push,但是当我做的麻烦出现git fetch,然后git merge.我所要做的就是让他的提交进入我的本地仓库,但我最终得到了一个合并提交,就像Merge remote-tracking branch 'origin/master'它的消息一样.

我不想进行这种无意义的提交,因为我们的提交中没有冲突的代码.我们正在处理完全不同的文件,因此没有理由进行此提交.如何防止git创建此合并提交?

git git-merge

30
推荐指数
2
解决办法
1万
查看次数

提示:解决冲突后,标记更正的路径

git有时会在冲突中给出这个消息(在恢复或樱桃选择期间)

hint: after resolving the conflicts, mark the corrected paths
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

git git-merge git-revert git-cherry-pick git-merge-conflict

30
推荐指数
2
解决办法
3万
查看次数

GIT:我怎样才能阻止foxtrot在我的'master'分支中合并?

foxtrot合并是一种合并,其中'origin/master'作为第二个(或更晚的)父级合并,如下所示:

提交'D'是foxtrot合并,因为'origin/master'是它的第二个父级.

提交'D'是foxtrot合并,因为'origin/master'是它的第二个父级.注意此时来自"origin/master"的第一父历史如何包含提交"B".

但是在我的git repo中,我需要所有涉及'origin/master'的合并来保持'origin/master'作为第一个父级.不幸的是,git在评估提交是否符合快进条件时并不关心父级.这会导致我的主分支上的第一个父历史记录有时会丢失曾经存在的提交(例如,输出"git log --first-parent").

以下是推送前面图表中提交"D"时发生的情况:

我怎样才能防止这种推动? 推送foxtrot合并后,'origin/master'的第一父历史不再包含提交'B'!

我怎样才能防止这种推动?推送foxtrot合并后,'origin/master'的第一父历史不再包含提交'B'!

显然没有提交或工作实际上丢失,只是在我的环境中我真的需要"git log --first-parent"作为一个稳定的提交累积记录 - 如果你愿意,一种"一次写入读 - 许多"(WORM)数据库.我有脚本和进程使用"git log --first-parent"来生成更改日志和发行说明,以及管理我的票证系统(JIRA)中的票证转换.Foxtrot合并破坏了我的脚本!

是否有某种预接收挂钩我可以安装在我的git存储库中以防止foxtrot合并被推送?

ps使用http://bit-booster.com/graph.html生成此stackoverflow问题中的提交图.

git merge git-merge

30
推荐指数
2
解决办法
7163
查看次数

我怎么能强制mergetool GUI(KDiff3)总是显示?

如何强制始终显示mergetool GUI并禁用任何自动解析?

有时,当有合并过程中发生冲突,我使用合并工具,它只是立即返回,我打后Enter的问题"回车,启动合并解决工具(kdiff3)",并没有GUI显示,冲突似乎得到解决.

我让Git配置为现在使用KDiff3作为mergetool,但是当我codecompare指定mergetool 时也发生了.我知道在KDiff3 中有一个选项"自动保存并退出合并而没有冲突",这理论上可能导致所描述的行为,但我一直禁用/取消选中此选项.

此外,在Git mergetool gitconfig中直接有trustExitCode选项,我将其设置为true,但即使我将其设置为false,也不会显示GUI.

我不知道是谁自动解决了.Mergetool在一些预处理或KDiff3?

我在Windows上运行并安装了Git扩展.

类似于KDiff3的问题,也在这里被问到:Kdiff3不会用mergetool命令打开

git mergetool git-merge kdiff3

29
推荐指数
2
解决办法
1万
查看次数

GIT:拉取请求和合并之间有什么区别?

在bitbucket和github等服务上,您可以选择创建拉取请求.

我向你(开发人员)提出的问题是,两者之间的区别是什么?

我目前所知道的差异:

  • 能够批准或拒绝请求
  • 能够提供添加请求的描述性消息

除此之外,看起来拉动请求本质上只是合并..正确吗?

git github bitbucket git-merge pull-request

29
推荐指数
2
解决办法
2万
查看次数

iOS - 在故事板中管理代码合并的最佳实践

在xcode故事板中与许多团队成员合并会产生许多冲突等.我需要一个策略来与20个团队成员共享故事板,但要避免与在故事板中合并代码相关联的噩梦.

我想在xcode中为每个团队设置一个单独的目标,但这并不好,因为我们都需要更新所以有两个故事板并不是一个好习惯.

我的代码库是继承的.它是一个分叉的项目,故事板很重.我认为改用xib可能很难(??)

xcode storyboard git-merge ios uistoryboard

29
推荐指数
2
解决办法
2万
查看次数