Questions tagged «git-merge»

git-merge是一个git命令,它通过将提交合并到当前已签出的分支中来集成来自另一个分支的更改。

6
当我只压缩提交时,为什么git-rebase给我合并冲突?
我们有一个包含400多个提交的Git存储库,其中前几十个是反复试验的。我们希望通过将许多压缩成一个提交来清理这些提交。自然地,git-rebase似乎是要走的路。我的问题是它最终会导致合并冲突,并且这些冲突不容易解决。我不明白为什么根本不应该有任何冲突,因为我只是挤压提交(而不是删除或重新排列)。这很可能表明我不完全理解git-rebase是如何进行南瓜的。 这是我正在使用的脚本的修改版本: repo_squash.sh(这是实际运行的脚本): rm -rf repo_squash git clone repo repo_squash cd repo_squash/ GIT_EDITOR=../repo_squash_helper.sh git rebase --strategy theirs -i bd6a09a484b8230d0810e6689cf08a24f26f287a repo_squash_helper.sh(此脚本仅由repo_squash.sh使用): if grep -q "pick " $1 then # cp $1 ../repo_squash_history.txt # emacs -nw $1 sed -f ../repo_squash_list.txt < $1 > $1.tmp mv $1.tmp $1 else if grep -q "initial …

6
重新设定基准后无法推送至分支
我们使用git,并且有一个master分支和一个developer分支。我需要添加一个新功能,然后将提交重新分配到主服务器,然后将主服务器推送到CI服务器。 问题是,如果我在重定基期间遇到冲突,则在重定基完成后,我无法推送到我的远程开发人员分支(在Github上),直到我拉开我的远程分支为止。这将导致重复提交。没有冲突时,按预期方式工作。 问题:在重新设置基准并解决冲突后,如何在不创建重复提交的情况下同步本地和远程开发人员分支 建立: // master branch is the main branch git checkout master git checkout -b myNewFeature // I will work on this at work and at home git push origin myNewFeature // work work work on myNewFeature // master branch has been updated and will conflict with myNewFeature …



3
如何以交互方式(可视方式)解决SourceTree / git中的冲突
我正在将(Windows)SourceTree用于我的git项目。我可以在命令提示符或Linux终端中执行此操作。 但是,我想知道是否存在一种很好的方法来以交互方式和视觉方式解决冲突。例如,如果pull检测到冲突,则弹出基于GUI的冲突工具(例如P4Merge)。可能吗? 我一直在手动解决冲突,这很痛苦。 例如,这是pull来自SourceTree 的git 消息。 git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master From W:\repo\ * branch master -> FETCH_HEAD Updating 33c07bf..41e0249 error: Your local changes to the following files would be overwritten by merge: foo.cpp goo.cpp goo.hpp Please, commit your changes or stash them before you can …

3
中止Git合并
我正在使用Git作为VCS的项目中。我xyz从master的mainline分支切下了一个分支。工作了一段时间后,我提交了我的代码并退出了分支主线。 拉力很好。然后,我将代码与master合并。合并后,某些文件存在问题。合并后我尚未提交代码。有人可以指导我如何中止此合并并将我当前正在工作的分支带到合并前的状态吗?
119 git  git-merge 

8
如何从Git中的服务器存储库中提取单个文件?
我正在使用运行Git的服务器的站点上工作。我正在使用Git进行部署(不是GitHub)。这是在我参与之前使用钩子方法设置的,我提到了这个问题并在下面输入了命令,但是没有用。 如何从服务器提取单个文件?例如,如果我想更新本地文件index.php?git pull index.php?

5
如何从远程跟踪分支(如“ git pull”)进行“ git fetch”和“ git merge”
我已经在git中设置了一些远程跟踪分支,但是一旦用'git fetch'更新了它们,我似乎永远无法将它们合并到本地分支中。 例如,假设我有一个名为“ an-other-branch”的远程分支。我在本地将其设置为跟踪分支 git branch --track an-other-branch origin/an-other-branch 到目前为止,一切都很好。但是,如果该分支得到更新(通常是由我移动机器并从那台机器提交),并且我想在原始机器上更新它,则获取/合并会遇到麻烦: git fetch origin an-other-branch git merge origin/an-other-branch 每当执行此操作时,都会收到“已经更新”消息,并且没有任何合并。 但是, git pull origin an-other-branch 总是按照您的期望进行更新。 另外,运行git diff git diff origin/an-other-branch 表明存在差异,因此我认为我的语法错误。 我究竟做错了什么? 编辑[2010-04-09]:我已经检查了几次,而且绝对不在其他分支上。我的“ git fetch”后面跟着“ git merge”(如上所示)是否应该做与git pull完全相同的事情?我将获得一些显示git status等结果的工作流。

5
Git合并我文件中的左侧HEAD标记
当出现错误消息告诉我合并被中止时,我尝试使用Git在命令行中合并文件。 我以为那是结束,但是后来我意识到我的文件中有gitmarks。像这样: start = expression validchar = [0-9a-zA-Z_?!+\-=@#$%^&*/.] integer = <<<<<<< HEAD digits:[0-9]+ { return digits.join(""); } ======= sign:"-"* digits:[0-9]+ { return sign + digits.join(""); } >>>>>>> gh-pages 这些文件不是由我编辑的,显示的行中插入了: 小于符号的HEAD(<<<<<<< HEAD) 更改代码行 一串等号(=======) 新版本的代码 另一行以大于号和分支名称(>>>>>>> gh-pages)开头 更糟糕的是文件内容不再井井有条。有谁知道我如何使这些文件恢复正常,以及我在gh分支中所做的更改已合并到master分支中?


4
git从历史记录中删除合并提交
我的Git历史记录如下: 我想把紫色的东西压成一个。我不想在我的提交日志中再次看到它们。 我尝试做一个git rebase -i 1,但是即使1在蓝色分支上(参见图片),我仍然看到紫色分支上的每个提交。 如何完全删除紫色分支(从提交日志中)?

7
如何将Meld设置为git mergetool
我已经设定: git config --global merge.tool meld git config --global mergetool.meld.path c:/Progra~2/meld/bin/ 在“ git mergetool”上写道: Hit return to start merge resolution tool (meld): The merge tool meld is not available as 'c:/Progra~2/meld/bin/' 我也尝试过: / c / Progra〜2 / meld / bin / “ / c /程序文件(x86)/ meld / bin /” “ …
95 git-merge  meld 

3
Git撤消合并尝试
我有工作目录(#1),其中有供应商目录(#2)。我想在没有作曲者的情况下手动拉出一个依赖项(npm / gem的php版本)。当我决定要在#2中更新库时,我在#1中工作,还没有保存/提交更改。我导航到供应商/我的名字,并做了git pull存储库。 不幸的是,它开始拉并合并到#1,而不是在供应商文件夹中创建新目录。 我现在有: #1包含我的更改的文件夹 #1包含我不想要来自错误存储库的文件的文件夹 #1合并冲突,例如composer.json,Readme.md ...(通用文件) 我想“撤消”最后一次git pull,而又不丢失对文件夹#1所做的任何更改。我怎样才能做到这一点?

2
如何解决git status“未合并的路径:”?
我将分支合并dog到中animal。当我去提交时,我得到以下信息: Unmerged paths: (use "git reset HEAD <file>..." to unstage) (use "git add <file>..." to mark resolution both deleted: ../public/images/originals/dog.ai added by them: ../public/images/original_files/dog.ai 我在每个分支中都有不同的目录名和文件名。该animal分支具有我想要的更改。 当我去重置头部时,它不起作用。当我执行任何其他git操作(删除,签出等)时,出现path not found错误。 我需要执行哪些命令来解决此问题?

7
如何在Git中手动合并所有文件?
我想使用Meld或任何其他差异工具手动合并所有文件,如何使用Git做到这一点? 当我运行git mergetool 它说no files need merging。所以我想只有在有冲突的情况下我才能做到。
78 git  merge  git-merge 

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.