我想为项目保留两个单独的git远程存储库(同时拥有一个本地副本)。一个应该是开发库,一个应该是代表性的公共存储库。我希望公共存储库仅包含选定的状态,即我只想提交稳定版本而没有小提交的中间历史记录。就我所了解的Git而言,如果我时不时地提交到公共存储库,它会自动更新提交的整个历史记录。有没有解决的办法?如何为所选提交(状态)保留第二个git远程存储库
回答
我的问题的答案是基于@Andomar的回答和@Michael Durrant推荐的博客文章。
不同的分支可以被用于释放(master
),显影(development
),修补程序(hotfix
)等每个分支可以被推到不同的远程仓库 - 公共酮(origin
)或一个用于发展( dev
)。
的策略应该是致力于发展变化的development
分支,并将其推到dev
远程仓库:
$git checkout dev
...do some changes...
$git commit -m "some development change"
$git push -u dev development
达到后一个新的释放点的development
和master
分支机构应使用--squash
合并,它在一次提交中将所有对开发分支的提交打包,这阻止了开发历史出现在主分支上。
$git checkout master
$git merge --squash development
$git commit -m "<new release message>"
$git push -u origin master
这将导致一个提交上origin
将包含所有自上次发布以来的发展变化,从而隐藏包含在dev
的发展历史。
认为“选定的历史”而不是“选定的提交”。 git push
默认选择加入分支机构,因此您可以选择仅将stable
分支(例如)推送到特定的远程设备。然而,如果不推送一个分支,就不能推送一个分支 - 分支的头部提交由其父,子内容(又名“树”)和一些元数据(作者,提交者,消息等)定义, 。
典型的解决方案是为此创建两个分支,例如development
和master
。你可以把唯一掌握公众资源库和git push
:
git push (remote) master
为了(remote)
只跟踪默认master
,使用git remote:
git remote set-branches (remote) master
我建议使用的
http://nvie.com/posts/a-successful-git-branching-model/
战略基本上你有一个开发分支的工作进行中和一个马代表生产的代表分支。
此外,您可以针对个人功能,错误修复或杂事开发分支机构。
然后,将这些分支合并到开发分支中,您可以在其中进行集成测试,然后将其发布到可以执行质量检查的发布分支。
准备发布时,将发布合并到主服务器并推送到生产服务器。
当您需要进行热修复时,请将其发布到发布分支。
感谢您发布此链接。它给了我很好的关于如何组织我的工作流程的想法。 – 2013-05-11 15:53:10
- 1. 如何克隆git存储库并保留远程控制?
- 2. 如何从远程git存储库一次提交一个提交?
- 3. 如何提交到远程git存储库
- 4. 关于多个远程存储库的Git状态
- 5. Git:从存储库中远程提取
- 6. Git中的提交是否代表存储库的状态?
- 7. 如何在django提交后保留复选框状态?
- 8. 合并两个git仓库,保留所有提交历史
- 9. 如何分组远程GIT存储库
- 10. 如何清理远程GIT存储库?
- 11. 1回滚本地和远程git存储库提交
- 12. GIT:从第二个到第五个提交在远程分支中删除
- 13. 将所有远程分支提取到裸Git存储库中
- 14. 同步两个git远程存储库
- 15. 如何防止用户从远程git存储库中删除提交
- 16. 如何查看远程git存储库中的所有分支
- 17. 远程Git存储库如何配置为推送,不提取或提取?
- 18. Git重置为较早的提交并且不能识别远程存储库
- 19. 如何在提交表单后保存复选框状态
- 20. git远程删除后,我的本地提交状态改变
- 21. 如何从远程存储库获取合并状态/最新状态?
- 22. 的Git - 拒绝远程仓库提交
- 23. 将git工作目录导入到第二个git存储库
- 24. 如何将多个文件提交到c4droid的git存储库?
- 25. 如何查找Git存储库中拥有多个父项的所有提交?
- 26. 跟踪git中另一个远程的远程存储库
- 27. Git存储库的未提交更改
- 28. 如何从命令行(Git Bash)删除远程Git存储库?
- 29. 如何将Git与多个远程存储库一起使用?
- 30. 如何从git存储库提取提交补丁
感谢您的回答。这让我走上了正轨。 – 2013-05-11 15:52:11