假设我通过git存储库与某人合作,并且有一个特定的文件,我永远不想接受任何外部更改.
有没有办法让我设置我的本地仓库,以便每当我拉动时不抱怨冲突的合并?我想在合并此文件时始终选择我的本地版本.
我正在创建一个合并驱动程序.我已经定义了一个.gitattributes文件,如下所示:
filename merge=mergeStrategy
我在$ PROJECT/.git/config中创建了合并驱动程序,如下所示:
[merge "mergeStrategy"]
name = My merge strategy
driver = scripts/mergeScript.sh
Run Code Online (Sandbox Code Playgroud)
这在本地工作正常,但我想将此合并驱动程序提交到git存储库,以便合并策略对每个人都有效.
有没有办法可以将此(或其他Git配置选项)添加到存储库本身?
在解决合并冲突时,大部分时间都是因为两个人插入文件的同一点.我总是这样做:使用左侧的新代码,从右侧复制新代码并在左侧代码后附加.
这让我感到疑惑,如果我总是这样做,应该可以实现自动化.我可以告诉Git相信这两个新块可以一个接一个地使用吗?
我认为,如果插入分开几行(Git自动解决的情况),那么引入错误的可能性就不会那么大.无论如何,我要检查结果.
(目前我使用DiffMerge作为我的mergetool,如果这有任何区别.)
您好,我有一个 git 文件,我不希望将更改合并到其中,相反,我希望更改始终附加到文件末尾,而其余项目文件正常合并。这可以在 git 中配置吗?
例如,在上游,文件 F 有一行
1. |10-09-2016 00:12:43 : Check completed
Run Code Online (Sandbox Code Playgroud)
在我的 fork 中,我将 F 更改为
1. |11-09-2016 00:10:55 : Check completed
Run Code Online (Sandbox Code Playgroud)
然后我提交更改并创建从我的分支到上游的 MR。
而不是将 upsteam 上的文件 F 更改为
1. |11-09-2016 00:10:55 : Check completed
Run Code Online (Sandbox Code Playgroud)
我希望upsteam上的文件F在接受MR后变成
1. |10-09-2016 00:12:43 : Check completed
2. |11-09-2016 00:10:55 : Check completed
Run Code Online (Sandbox Code Playgroud)