我们正在使用安装在Web服务器上的git进行开发,我们在public_html目录之外放置了一个裸.git项目,然后我们将master分支克隆到public_html中的目录。这允许我们推送到主分支,而不必担心已经检出的分支的错误。
我们有了这个想法(并且已经检查过,到目前为止工作得非常好),我们可以在修复主分支并再次拉动时将各个提交头检查为快速回滚。在执行此操作时,我们需要了解任何已知的缺点或安全问题吗?
答案 0 :(得分:1)
我不确定我是否完全理解您正在使用的设置(两个git存储库?)及其背后的推理,但我感觉到实际的问题是关于回滚过程。
通过查看单个提交回滚是一种完全有效的方法,实际上在使用Vincent Driessen建议的gitflow
工作流时也是一种自然的方法:http://nvie.com/posts/a-successful-git-branching-model/
但是,gitflow
的关键部分是使用git tag
将主分支中的提交标记为版本。标记是一种“提交指针”,签出标记与检查它指向的提交具有完全相同的效果。
这些“发布标签”通常是版本号,例如“4.2”,“1.2.3”等。因此,如果在标签上不得不进行回滚,让我们说“4.3”,你只需要做git checkout 4.2
这将带您回到最新的稳定版本。这与必须查看提交日志,查找正确的提交然后执行git checkout xyz
相反。