相关疑难解决方法(0)

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

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

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

git git-merge

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

git merge"被我们删除"

我正在做一个大合并.我的分支中的repo中删除了很多文件,在进行合并时,我希望对所有这些文件保留此更改.还有一些文件需要显式合并,我打算用git mergetool它们来合并它们.

我希望保留所有已删除文件的"删除我们"更改(即文件应保留删除).我想解决的其他合并冲突.
有没有办法告诉git保持删除的文件被删除?

git merge

25
推荐指数
4
解决办法
3万
查看次数

如何设置git驱动程序忽略合并时的文件夹

我已经做了大量的搜索,阅读了很多SO问题和解决方案并尝试了不同的方式,但我一直无法做我想做的事,这很简单.

我有所有主代码所在的主分支,以及设计分支,其中rails应用程序的布局由设计团队构建.他们在公共文件夹中添加了一个名为"photoshop"的文件夹,以便在版本控制下保留图像的来源.但我不希望在合并到主分支时复制此文件夹,因为它是不需要的.

显然,这样做的方法是通过合并驱动程序.所以,我创建了"忽略"驱动程序:

[merge "ignore"]
name = always ignore during merge
driver = ignore.sh %0 %A %B
Run Code Online (Sandbox Code Playgroud)

并在$ PATH上创建了ignore.sh文件:

exit 0
Run Code Online (Sandbox Code Playgroud)

我在public /中创建了.gitattributes文件,因为photoshop文件夹应该整体被忽略,它将出现在public /下:

photoshop  merge=ignore
photoshop/ merge=ignore
photoshop/* merge=ignore
photoshop/**/* merge=ignore
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我尝试了几种不同的模式来忽略整个文件夹,但它不起作用.我相信这是因为master分支上没有文件夹,所以没有冲突,因此git不使用ignore驱动程序.有没有办法实现这一点,而无需在master上创建public/photoshop文件夹?

谢谢!

git git-merge

13
推荐指数
2
解决办法
3808
查看次数

git的-X"他们的"不能处理新的/删除的文件冲突吗?

这个问题的情景之后,我正在表演git rebase -s recursive -X theirs etc...并且很惊讶地被以下类型的冲突所阻止:

  • 他们补充道
  • 他们删除了
  • 我们删除了

这个策略有没有理由不应对这些?

(我不知道这是否重要,但是git不报告输出中的冲突,它只是说When you have resolved this problem run "git rebase --continue")

更新这里的脚本不能完全重现,但几乎:

git init
git symbolic-ref HEAD refs/heads/Branch1  #just to get the 'right' branch name
echo Added in A > DeletedByThem.txt
git add -A
git commit -m A

echo Modified in B >> DeletedByThem.txt
git add -A
git commit -m B

echo Modified in C >> DeletedByThem.txt
echo Added in C …
Run Code Online (Sandbox Code Playgroud)

git conflict rebase

11
推荐指数
1
解决办法
2324
查看次数

标签 统计

git ×4

git-merge ×2

conflict ×1

merge ×1

rebase ×1