我知道当你没有提供明确的分支名称时,来自特定分支的git pull
有questions floating around,但是我想知道即使用户是否可以强制拉分支指定不同的分支。
实施例
如果我要登录实时服务器并提取最新更改,我只需要更改分支实时。所以如果我要在shell中执行以下命令:
git pull origin master
我希望git能够
这可能吗?我希望避免像this one这样的情况,因为它是一个核心业务系统,当事情出错时,它并不好。
答案 0 :(得分:3)
如果这是您的生产服务器,允许任何人在该存储库中运行任意git命令似乎是一个坏主意。任何合并(例如与git pull
)可能会产生冲突,使您的实时服务器设置中断。我认为人们通常只通过推送到具有post-receive
或update
钩子的裸存储库来允许开发人员部署到生产服务器来处理这个问题:
refs/heads/master
正在更新如果是这样,请使用以下命令将其检出到新目录:
GIT_WORK_TREE=/deployment/directory git checkout -f
当然,这并不能阻止人们在本地合并错误的东西,然后将其推送到临时服务器或实时服务器,但是我认为你可以做的事情并不多 - 人们只需要测试他们的在推送之前正确提交(在本地或在登台服务器上)。