假设我通过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子树策略.我的意图是将一些不同的回购物一起放入伞形回购下的一个小玩具回购家庭中.我正在使用这里详述的子树策略:http://help.github.com/subtree-merge
我想把我的头发拉出来试图说服Git,我想从这些子树中创建一个分支而不是从根.当我进入子树,创建分支,然后cd回到根,从根运行git分支清楚地表明分支是在根创建的.叹.
我喜欢git/github,但让这个看似常规的任务正常工作令人抓狂.
有人可以赐教吗?