标签: git-merge

我怎么告诉git总是选择我的本地版本来解决特定文件上的冲突合并?

假设我通过git存储库与某人合作,并且有一个特定的文件,我永远不想接受任何外部更改.

有没有办法让我设置我的本地仓库,以便每当我拉动时不抱怨冲突的合并?我想在合并此文件时始终选择我的本地版本.

git git-merge

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

如何从Git中的服务器存储库中提取单个文件?

我正在使用运行Git的服务器的网站上工作.我正在使用Git进行部署(而不是GitHub).这是在我参与使用钩子方法之前设置的,我参考了这个问题并输入了下面的命令,但它没有用.

基本上,我如何从服务器中提取单个文件?例如,如果我想更新我的本地文件index.php?git pull index.php

git git-pull git-merge git-fetch

93
推荐指数
5
解决办法
20万
查看次数

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
Run Code Online (Sandbox Code Playgroud)

这些文件不是由我编辑的,而是显示插入的行:

  • HEAD后不到标志(<<<<<<< HEAD)
  • 改变代码的行
  • 一串等号(=======)
  • 新版本的代码
  • 另一行以大于号的开头和分支的名称(>>>>>>> gh-pages)

更糟糕的是文件内容不再有序.有谁知道我如何让这些文件恢复正常,我在gh-branch中所做的更改合并到主分支?

git git-merge merge-conflict-resolution git-merge-conflict

91
推荐指数
3
解决办法
5万
查看次数

如何将Meld设置为git mergetool

我已经设定:

git config --global merge.tool meld
git config --global mergetool.meld.path c:/Progra~2/meld/bin/
Run Code Online (Sandbox Code Playgroud)

在"git mergetool"上写道:

Hit return to start merge resolution tool (meld):
The merge tool meld is not available as 'c:/Progra~2/meld/bin/'
Run Code Online (Sandbox Code Playgroud)

我也试过了:

  • / C/PROGRA〜2/MELD/bin中/
  • "/ c/Program files(x86)/ meld/bin /"
  • "c:/ Program files(x86)/ meld/bin /"

结果是一样的.

当我转到C:/ Program files(x86)/ meld/bin /并运行时

python meld
Run Code Online (Sandbox Code Playgroud)

该工具运行.

meld git-merge

91
推荐指数
6
解决办法
10万
查看次数

中止Git Merge

我正在使用Git作为VCS的项目.我xyz从主人的主线分支切了一个分支.工作了一段时间后,我提交了我的代码并拉了分支主线.

拉得很好.然后我将代码与master合并.合并后,某些文件出现问题.合并后我没有提交代码.有人可以指导我如何中止这个合并并将我的分支机构带到我合并之前的状态吗?

git git-merge

84
推荐指数
3
解决办法
14万
查看次数

Git撤消合并尝试

我有工作目录(#1),其中包含供应商目录(#2).有一个依赖项,我想手动拉动没有composer(php版本的npm/gem).我在#1工作,没有保存/提交更改,当我决定要更新#2中的库时.我导航到vendor/myname,并做了git pull repository.

不幸的是,它开始拉动并合并到#1,而不是在vendor文件夹中创建新目录.

我现在有:

  • 我的更改的#1文件夹
  • #1文件夹包含我不想从错误的存储库中获取的文件
  • #1合并冲突,例如composer.json,Readme.md ......(通用文件)

我想"撤消"最后一个git pull而不会丢失我对文件夹#1所做的任何更改.我怎样才能做到这一点?

git git-pull git-merge

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

git从历史记录中删除合并提交

我的Git历史看起来像这样:

Git历史

我想把紫色的提交压成一个.我不希望在我的提交日志中再次看到它们.

我试过做了git rebase -i 1,但即使1是在蓝色分支上(参见图片),我仍然看到我的紫色分支上的每个提交.

如何完全删除紫色分支(来自提交日志)?

git git-merge git-rebase

75
推荐指数
5
解决办法
12万
查看次数

如何自定义git的合并提交消息?

每次我进行合并时,我都需要生成合并提交,我希望它不仅仅包含所有提交的摘要.

我的问题是我如何格式化git-fmt-merge-msg或者什么决定了这个自动消息(我可以在提交后通过修改它并使用git-log --pretty = format:'...'来手动执行此操作)

例如,我想格式化它:

 Merge branch 'test'  
    * test:  
      [BZ: #123] fifth commit subject  
      [BZ: #123] fourth commit subject  
      [BZ: #123] third commit subject  
      [BZ: #123] second commit subject  
      [BZ: #123] first commit subject  

 __________________________________________
 Merge details:  
     [BZ: #123] fifth commit subject  
               at 2010-06-30 11:29:00 +0100  
       - fifth commit body  

     [BZ: #123] fourth commit subject  
               at 2010-06-30 11:22:17 +0100  
       - fourth commit body  

     [BZ: #123] third commit subject  
               at 2010-06-30 11:21:43 +0100  
       - third commit body  

     [BZ: …
Run Code Online (Sandbox Code Playgroud)

git git-merge

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

Git merge不使用默认合并消息,使用默认消息打开编辑器

如何强制git merge使用默认合并消息而不是使用所述消息加载我的编辑器?

我没有列出编辑器git config -l,所以我不确定为什么它会打开一个编辑器.

git git-merge

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

如何在git中合并两个具有不同目录层次结构的分支?

我开始使用Maven和Web应用程序项目,因此目录层次结构发生了变化.我为Maven集成创建了一个新分支.现在我有两个分支,一个具有旧的目录层次结构,另一个具有maven目录层次结构.两个分支都有新的提交(错误修正和新功能).

我想摆脱旧分支并将其更改合并到Maven分支.Git merge会产生无数的冲突,感觉无法解决.我相信这是因为文件路径已经改变.

处理此合并的最佳方法是什么?

git merge git-merge

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