我main.cpp在编辑器中打开了文件" ".
我想main.cpp在编辑器中看到之前的修订版" ".
我现在这样做的方式是这样的.
close "main.cpp" in the editor
prompt> mv main.cpp tmp
prompt> git checkout HEAD^ main.cpp
prompt> mv main.cpp old_main.cpp
prompt> mv tmp main.cpp
prompt>
open "main.cpp" and "old_main.cpp" in the editor
Run Code Online (Sandbox Code Playgroud)
可以简化,所以我不必在编辑器中关闭"main.cpp"吗?
我希望的是一个git-checkout可以做到这一点的变体.
更新:我在mac osx 10.5.7上使用git
prompt> git --version
git version 1.6.0.4
prompt>
Run Code Online (Sandbox Code Playgroud)
UPDATE2:JakubNarębski的回答是:
prompt> git show HEAD^:dir1/dir2/dir3/main.cpp > old_main.cpp
prompt>
Run Code Online (Sandbox Code Playgroud)
更新3:Karmi的答案,针对特定修订:
prompt> git show 4c274dd91dc:higgs/Higgs.xcodeproj/project.pbxproj > old_project.pbxproj
prompt>
Run Code Online (Sandbox Code Playgroud) 有没有人知道允许大型项目并行工作的大型项目的好方法来处理Flyway的版本控制?我们经常发现,在合并到掌握期间,我们最终会出现冲突的合并,因为2-3个独立项目需要更改数据库,并且它们使用相同的版本号.
在这种情况下,我甚至不确定版本控制的Rails样式时间戳是否有效,因为您不一定知道合并的主要顺序.
除了必须在合并之前重新编号迁移之外,还有什么好的解决方法吗?
汤姆
目前在我们使用FlyWay的项目中,我们有多个环境,例如:dev(本地开发人员),QA人员应用程序的几个实例,分段......我们有这样的工作流程,包括任务:进行中 - >代码评论 - >质量保证 - >合并.
我们遇到了一个问题:假设一个开发人员在分支机构A上工作,提供了一个新的迁移版本,比方说V331,同时一个QA人在另一个分支上做qa,比如B,在QA环境中.可能会发生qa环境已经有版本v331,因为几个开发人员可能会在不同的时间在不同的分支上创建相同的版本号...更多的qa在分支之间切换非常频繁,这就是为什么qa数据库变得混乱,特别是表schema_version,它引导我们手动删除损坏的模式版本,解决旧的迁移版本问题,然后再次在环境中启动迁移过程.你如何处理多个环境和飞路?有最好的做法吗?