假设我通过git存储库与某人合作,并且有一个特定的文件,我永远不想接受任何外部更改.
有没有办法让我设置我的本地仓库,以便每当我拉动时不抱怨冲突的合并?我想在合并此文件时始终选择我的本地版本.
我尝试使用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)=======)>>>>>>> gh-pages)更糟糕的是文件内容不再有序.有谁知道我如何让这些文件恢复正常,我在gh-branch中所做的更改合并到主分支?
我已经设定:
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:/ Program files(x86)/ meld/bin /并运行时
python meld
Run Code Online (Sandbox Code Playgroud)
该工具运行.
我正在使用Git作为VCS的项目.我xyz从主人的主线分支切了一个分支.工作了一段时间后,我提交了我的代码并拉了分支主线.
拉得很好.然后我将代码与master合并.合并后,某些文件出现问题.合并后我没有提交代码.有人可以指导我如何中止这个合并并将我的分支机构带到我合并之前的状态吗?
我有工作目录(#1),其中包含供应商目录(#2).有一个依赖项,我想手动拉动没有composer(php版本的npm/gem).我在#1工作,没有保存/提交更改,当我决定要更新#2中的库时.我导航到vendor/myname,并做了git pull repository.
不幸的是,它开始拉动并合并到#1,而不是在vendor文件夹中创建新目录.
我现在有:
我想"撤消"最后一个git pull而不会丢失我对文件夹#1所做的任何更改.我怎样才能做到这一点?
我的Git历史看起来像这样:

我想把紫色的提交压成一个.我不希望在我的提交日志中再次看到它们.
我试过做了git rebase -i 1,但即使1是在蓝色分支上(参见图片),我仍然看到我的紫色分支上的每个提交.
如何完全删除紫色分支(来自提交日志)?
每次我进行合并时,我都需要生成合并提交,我希望它不仅仅包含所有提交的摘要.
我的问题是我如何格式化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 merge使用默认合并消息而不是使用所述消息加载我的编辑器?
我没有列出编辑器git config -l,所以我不确定为什么它会打开一个编辑器.
我开始使用Maven和Web应用程序项目,因此目录层次结构发生了变化.我为Maven集成创建了一个新分支.现在我有两个分支,一个具有旧的目录层次结构,另一个具有maven目录层次结构.两个分支都有新的提交(错误修正和新功能).
我想摆脱旧分支并将其更改合并到Maven分支.Git merge会产生无数的冲突,感觉无法解决.我相信这是因为文件路径已经改变.
处理此合并的最佳方法是什么?