如何从这个Git设置中恢复
我和我的数据库开发小组在6个月前开始使用Git进行版本控制。我们现在有一个开发实例和一个生产实例 当我为团队设置Git时,我创建了“MASTER”分支,然后将安装在生产实例上的所有内容放入文件夹中。然后我创建了一个“DEV”分支,并将安装在开发实例上的东西放入文件夹中(如果有重复的文件,则覆盖旧文件) 然后我们继续在“DEV”分支上进行所有的开发,然后当我们想从开发实例在生产上安装东西时,我会从“MASTER”分支中选择一个“DEV”提交。然后它要求我手动合并,因为存在合并冲突 我需要做些什么,以便我们可以更轻松地从开发到生产安装,而不必每次都进行樱桃采摘?或者我们需要继续启动另一个存储库吗 这是我正在寻找的一个例子 我已在开发分支中对这些文件进行了更改:如何从这个Git设置中恢复,git,branching-and-merging,cherry-pick,git-cherry-pick,Git,Branching And Merging,Cherry Pick,Git Cherry Pick,我和我的数据库开发小组在6个月前开始使用Git进行版本控制。我们现在有一个开发实例和一个生产实例 当我为团队设置Git时,我创建了“MASTER”分支,然后将安装在生产实例上的所有内容放入文件夹中。然后我创建了一个“DEV”分支,并将安装在开发实例上的东西放入文件夹中(如果有重复的文件,则覆盖旧文件) 然后我们继续在“DEV”分支上进行所有的开发,然后当我们想从开发实例在生产上安装东西时,我会从“MASTER”分支中选择一个“DEV”提交。然后它要求我手动合并,因为存在合并冲突 我需要做些什么,
file1
file2
file3
file4
file5
...
file 80
file 81
在开发分支中添加了以下文件:
file1
file2
file3
file4
file5
...
file 80
file 81
但我只想将这些文件合并到主分支中:
file2
file4
file80
每个文件都是一个PL/SQL触发器、函数或过程。我从来没有使用过樱桃树来将工作从一个分支转移到另一个分支,除非目的是完全放弃最初工作所在的分支 看起来您只是想合并您的更改,所以您应该…这样做-
git checkout master&&git merge development
。您可能会遇到合并冲突,因为从该分支提取的提交将与其对应的提交冲突
为了澄清最后一点,如果在开发分支上有一个commit a,在主分支上有一个“commit”,并且由于一个cherry pick而有一个“=a”,那么这里会有冲突,因为“commit”是在没有历史记录的情况下引入的。您严重误用了Git的分支模型 使用分支来维护文件的不同副本,例如将特定于环境的文件放在特定于环境的分支上,这意味着您放弃了将这些分支重新合并在一起的能力,这意味着您放弃了让Git最有用的功能 您应该停止维护分支特定的文件,而是:
config.ini.production
和config.ini.development
。然后,在每个部署的环境中,将symlinkconfig.ini
链接到正确的环境特定文件dev
分支合并到master
分支中,因为Git是要工作的