我有一个运行nginx的digitalocean液滴来提供我的html文件,并使用rest-api将URL重定向到后端。
当我想更新服务器上的前端或后端时,我需要进行以下繁琐的过程:将后端或前端拉入服务器,如果前端先构建然后重新启动服务,则将其拉入后端。我正在寻找一种以某种方式自动执行某些步骤或全部步骤的方法。有没有什么技术可以帮助您?
您可以编写cron脚本,在其中可以检查源分支HEAD与本地分支HEAD是否不同:
# check remote head
git ls-remote origin refs/heads/your_branch
#check local head
git rev-parse HEAD
# if remote HEAD is different than local HEAD, then pull
该解决方案是只(对于exapmle一个分支your_branch
是master
)。如果您愿意,我可以为您编写完整的脚本,该脚本将检查所有本地分支是否与远程分支同步。我想要python中的脚本,但是bash也是一种选择。
BTW
我认为自动拉车不是一个好的解决方案。如果您有未提交的更改怎么办?藏起来,拉后套用吗?如果您尚未发布提交怎么办?您应该只进行纯拉动还是使用变基拉动?使用抓取您不会遇到此类问题:)我认为,自动抓取是更好的选择,如果您只想将更改与git工作目录合并。如果您考虑提取而不是pull(pull
is fetch
and merge
),则应在本地检查FETCH_HEAD
,但请注意这FETCH_HEAD
是临时的。
另一个问题是,如果您的存储库包含子模块。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句