我在github上有2个git存储库 - development-repo和production-repo。所有的日常工作都致力于开发 - 回购,每当我想将代码投入生产时,我想同步生产回购以获得最新的更改,并从那里我自动设置将其部署到我们的生产环境。
到目前为止,我将development-repo克隆到了production-repo中,并且可以正常运行以获取所有文件。但是现在我在开发回购中做了一些改变,我想把它们推到生产回购中。
我尝试过运行' git pull https://github.com/[organization]/development-repo.git'从我的生产回购,但这给了我一个合并冲突的looong列表。
我应该使用什么git命令?
答案 0 :(得分:0)
如果您致力于使用两个不同的存储库而不仅仅是一个不同的分支,我建议您在本地开发存储库中设置两个不同的远程存储库。我猜这就是你当前的存储库布局。
local development repository (LDR) --> remote development repository (RDR)
local production repository (LPR) --> remote production repository (RPR)
这可能是您希望存储库布局的样子。
local development repository --> remote development repository
\
`-> remote production repository
使用第一个布局,开发存储库和生产存储库可以共享完全相同的文件,但它们具有完全不同的提交。这使得尝试将它们同步为非常手动的任务。基本上你必须将所有文件从LDR复制到LPR并创建一个新的提交并将其推送到RPR。
要实现第二种布局,可以在LDR的上下文中发出git remote add <name_of_remote> <github_address>
命令。例如:
git remote add production https://github.com/[organization]/production-repo.git
这样,只要您希望将LDR中的更改推送到RPR,就可以调用git push production master
。
注意如果您已经从LPR推送到RPR,那么您有点卡住了。由于存储库完全不同,当您尝试从LDR推送到RPR时,您可能会得到一些奇怪的警告消息。不知道他们会脱离我的头脑。您可能必须在GitHub上删除RPR并重新创建它。那或你可以使用总是非常危险的force push。