我正在尝试将我的静态文件保存在一个单独的分支中,以便我可以防止它们合并到我的主brach中(在Heroku上,你的应用程序的slug需要保持小).我不想忽略我的静态文件,因为我想把它们放在我的"devel"分支中.
理想情况下,我想保持test.db为空,我的整个公共文件夹在主分支中空白.
那么,我可以在分支上创建"叠加"吗?我可以阻止某些文件/目录合并到我的主分支中吗?
在Git中,我如何组织工作来跟踪库的本地配置文件,这是一个git子模块?
详情如下:
该库具有被跟踪的普通文件,以及位于其文件夹中但未被跟踪的默认配置文件,以避免重置或覆盖它们(它们在.gitignore中列出).所有文件都在lib的文件夹或子文件夹中.
我开始在Git中跟踪其中一个使用此库的项目.现在有一个两难的境地:
如果我将这个项目中的lib作为一个子模块,我将无法跟踪配置文件(Git将忽略它们,因为它们位于子模块文件夹中).
正如我所理解的那样,将一切作为一个大项目跟踪是一个坏主意.
如果我做跟踪库中的配置文件,我怎么能避免重置它们为默认值?我是否在工作项目中分支并且每次都从主人那里拉出来?那么,如果我编辑库和配置文件呢?这必然会导致合并冲突,不是吗?
我想这不是新的,但我找不到任何建议.我很感激从你的经验中学习.
每当我在git中创建主题分支时,我一直在研究系统以保留BRANCH_DESCRIPTION文件.就像其他人提到的那样,我有时会忘记我为其创建的分支,尽管我试图给它一个描述性的名称.
我一直在处理SO问题如何告诉git总是选择我的本地版本来解决特定文件上的冲突合并?,但我遇到了一个不调用自定义合并驱动程序的情况,因此合并主题分支的文件会覆盖本地分支.例如:
git checkout master
echo "mainline" > BRANCH_DESCRIPTION
git add BRANCH_DESCRIPTION
git commit -m'Added BRANCH_DESCRIPTION file'
git checkout -b topic_branch
echo "this branch is used to fix the bug where [...]" > BRANCH_DESCRIPTION
git commit -m'Updated BRANCH_DESCRIPTION'
[code, code, code ...]
[git, git, git ...]
git checkout master
git merge --no-ff topic_branch
Run Code Online (Sandbox Code Playgroud)
此时BRANCH_DESCRIPTION将被覆盖,因为无论是否为文件设置了自定义合并驱动程序,主分支的描述都没有改变.
有任何想法吗?
我为客户端X创建了一个rails网站.我现在有一个客户端Y,他想要一个与客户端X完全相同的网站,但是有一个不同的皮肤.
我从clientXcode创建了一个git分支,并将其命名为clientYcode.然后,我对视图进行了所有更改,使其看起来与众不同,而lala,同一个网站具有不同的外观.
现在这里是我对git不了解的内容:我在视图,模型和控制器中对clientXcode进行了很多更改; 现在我想将这些更改合并到clientYcode中,排除任何视图更改.由于视图,模型和控制器在rails中都有自己的文件夹,我希望能够做到这样的事情:
git merge client_x_code 'app/controllers/*', 'app/models/*'
Run Code Online (Sandbox Code Playgroud)
问题1:使用git有可能吗?如果是这样,我该怎么做?
问题2:分支是制作项目副本的最佳解决方案吗?