相关疑难解决方法(0)

告诉git在特定文件上使用我们的合并策略

我有以下目录结构:

/.git
/.git/info/attributes
/MyProject
/MyProject/pom.xml
/MyProject/MyCode.java
Run Code Online (Sandbox Code Playgroud)

我有分支主和bugfix.在两个分支上都修改了pom.xml和MyCode.java.我想将仅来自bugfix的更改合并到MyCode.java的master,并保留pom.xml文件的主版本.

所以我添加了"/.git/info/attributes"因为我不想在项目中提交.gitattributes

$cat .git/info/attributes
pom.xml merge=ours
$git status
# On branch master
nothing to commit (working directory clean)
$git check-attr -a pom.xml
pom.xml: merge: ours
Run Code Online (Sandbox Code Playgroud)

最后到了问题:

当我做:

$git merge bugfix
Auto-merging MyProject/pom.xml
CONFLICT (content): Merge conflict in MyProject/pom.xml
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)

Git忽略了属性设置.我在这里失踪了什么?

我不想在这篇文章中定义"keepMine.sh"

这篇文章是我需要的,但是如果我有一个简单的模式,我宁愿不逐个文件

谢谢!

git git-merge

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

.gitattributes和文件的个别合并策略

我有一个主人和我的(网络)应用程序的测试分支.这些项目几乎相同,只有一个设置应用程序的文件,比如说"setup".

每当我将一个分支合并到另一个分支时,我希望该分支保持其版本的设置.也就是说,git不应该尝试将更改合并到该文件.

我按照Pro Git书中的指导创建了一个.gitattributes文件,其中包含"setup merge = ours"行.但是,这不起作用 - 如果我引入冲突,也不能快速合并.

(确切地说:

$: mkdir gitest
$: cd gittest
$: git init
$: echo "setup merge=ours" >> .gitattributes 
$: echo "master" >> setup
$: git add setup .gitattributes
$: git commit -a -m ...
$: git branch test
$: git checkout test
$: echo "test" >> setup
$: git commit -a -m ...
$: git checkout master
$: git merge test
Run Code Online (Sandbox Code Playgroud)

预期结果:setup包含单词"master",而git执行ff merge并且setup是"test".)

git

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

脚本自动合并2个git分支?

我的git存储库有2个分支:master和develop.我想要一个脚本,自动将所有更改从开发合并到主.

我使用了Jenkins:Git插件克隆了存储库,然后运行了这个脚本('version'变量是一个作业参数):

# merge
git checkout -b develop origin/develop
git checkout master
git merge -Xtheirs --squash develop -m "v${version}"

# commit
git commit -m "v${version}"

# tag
git tag v${version} -m "v${version}"

# push
git push origin v${version}
Run Code Online (Sandbox Code Playgroud)

我在测试存储库上尝试了它,它失败了:

git merge -Xtheirs开发
CONFLICT(删除/修改):在开发中删除test.txt并在HEAD中修改.test.txt的版本HEAD留在树中.
自动合并失败; 修复冲突,然后提交结果.

如何自动解决此冲突?我希望脚本总是根据'develop'分支添加/修改/删除文件,因为无论如何都不会触及master ...

git merge branch branching-and-merging jenkins

8
推荐指数
1
解决办法
7247
查看次数

标签 统计

git ×3

branch ×1

branching-and-merging ×1

git-merge ×1

jenkins ×1

merge ×1