Bitbucket git process ensure master only
Bitbucket git process ensure master only
对 git 很陌生,我想检查我的过程是否合理,并确保我部署的生产 Web 服务器只能看到主存储库。
我在 bitbucket 上有一个 "origin" 存储库。我已将它克隆到我正在做大部分工作的开发服务器上。要将更改投入生产,它是这样的:
在开发服务器上:
make changes
git commit -am 'message'
git push # to bitbucket
在生产服务器上:
git pull # from bitbucket
在生产服务器上,我有一个 post-merge 挂钩,它执行检出以将其发送到 /www 目录,并且还更改了一些设置(关闭调试等)。
这是执行此操作的正常方法吗?如果我在我的开发服务器上的单独分支中处理额外功能并将它们推送到 bitbucket,我是否需要担心我的生产服务器 "accidentally" 在 git pull and/or 检查中获取这些功能他们出去? git 是否只拉 "master" 除非另有说明?理想情况下,我希望生产服务器只能看到 "master",但我希望 bitbucket 上有其他分支,以便其他人可以看到我正在处理的代码。
git pull
是两步操作:
- fetch - 这将从 "origin" 远程定义的 Git 服务器下载所有内容(master 分支和其他,但实际的 checked-out 代码不是改变).
- 更新分支指针 - Git 将尝试确定
HEAD
指向 的分支的 tracking branch 是什么
这两个步骤有很多要掌握的地方,但我想我可以轻松做到这一点。
在您的生产服务器上,运行 每当您想要更新时,这两个命令:
git checkout master
git pull origin master
这样只有推送到您的主分支的更改会被部署。
对 git 很陌生,我想检查我的过程是否合理,并确保我部署的生产 Web 服务器只能看到主存储库。
我在 bitbucket 上有一个 "origin" 存储库。我已将它克隆到我正在做大部分工作的开发服务器上。要将更改投入生产,它是这样的:
在开发服务器上:
make changes
git commit -am 'message'
git push # to bitbucket
在生产服务器上:
git pull # from bitbucket
在生产服务器上,我有一个 post-merge 挂钩,它执行检出以将其发送到 /www 目录,并且还更改了一些设置(关闭调试等)。
这是执行此操作的正常方法吗?如果我在我的开发服务器上的单独分支中处理额外功能并将它们推送到 bitbucket,我是否需要担心我的生产服务器 "accidentally" 在 git pull and/or 检查中获取这些功能他们出去? git 是否只拉 "master" 除非另有说明?理想情况下,我希望生产服务器只能看到 "master",但我希望 bitbucket 上有其他分支,以便其他人可以看到我正在处理的代码。
git pull
是两步操作:
- fetch - 这将从 "origin" 远程定义的 Git 服务器下载所有内容(master 分支和其他,但实际的 checked-out 代码不是改变).
- 更新分支指针 - Git 将尝试确定
HEAD
指向 的分支的 tracking branch 是什么
这两个步骤有很多要掌握的地方,但我想我可以轻松做到这一点。
在您的生产服务器上,运行 每当您想要更新时,这两个命令:
git checkout master
git pull origin master
这样只有推送到您的主分支的更改会被部署。