我是git的新手,想知道这种分支方法是否适合我们的目标。
我们将有三个网站
我们打算做的是拥有一个可以为所有三个站点提供服务的集中式存储库。存储库将有三个分支:master,sandbox和development
然后我们只是检查分支以更改文件并拉/推每个站点的更改。
对于更改,开发将推送到master和sandbox分支。沙箱永远不会被推到掌握。
这可以吗?任何建议都非常感谢。
非常感谢你。
答案 0 :(得分:0)
如果您的主要单个仓库是bare repo,您可以推送它。
从那里开始,post-receive hook可以触发相关的结账,具体取决于已推送的分支(参见“Writing a git post-receive hook to deal with a specific branch”)
#!/bin/bash
while read oldrev newrev refname
do
branch=$(git rev-parse --symbolic --abbrev-ref $refname)
if [ "master" == "$branch" ]; then
# Do something
fi
if [ "sandbox" == "$branch" ]; then
# Do something
fi
if [ "development" == "$branch" ]; then
# Do something
fi
done
对于更改,开发将推送到master和sandbox分支。沙箱永远不会被推到掌握。
这不是最佳做法:您应该将所需内容从dev
合并到master
和sandbox
本地分支,然后推送这些分支到独特的远程仓库
定期在dev
之上重新定位master
也是一个好主意。