首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Ubuntu 14.04上的Git Hooks将Hugo站点部署到生产环境

介绍 Hugo是一个静态站点生成器,允许您通过使用简单的标记语言轻松创建和发布Web内容。Hugo可以根据提供的要求解析您的内容并应用主题,以生成可以轻松托管在任何Web服务器或主机上的一致网页。...scp -r /tmp/my-website.git username@production_domain_or_IP: 为Production Server添加Git Remote 现在我们git在生产服务器上有了我们的裸仓库...这将允许我们轻松地将新内容推送到我们的生产服务器。 回到你的Hugo目录: cd ~/my-website 我们需要做的就是决定遥控器的名称。在本指南中,我们将使用prod。...我们将它指向我们的新克隆作为源目录,并告诉它将生成的内容放在公共Web文件夹中。我们还将传递包含我们的生产服务器的域名或IP地址的变量,以便它可以正确地构建链接。...但是,它们构成了易于维护的系统的基础,可以快速,轻松地在Web服务器上获取本地内容。由于部署过程是自动化的,因此您无需与服务器进行交互即可进行简单的git push更改。

2K20

离线使用 Git

遥控器可以叫任何东西。它不必被称为“起源”。 卸下记忆棒并将其安装到另一台开发机器上。 如果开发计算机上还没有存储库的副本,则可以使用 git clone。...Git 会很乐意将更改从本地存储库的一个副本获取到另一个副本。一种选择是通过 CD 或其他介质将包含本地 Git 存储库的目录简单地复制到另一台计算机,然后像平常一样在两台计算机上进行更改和提交。...要将所有更改拉入当前分支,请使用: git pull /path/to/other/repo 或者,您可以获取更改并创建一个新分支来存储它们: git fetch /path/to/other/repo...将捆绑文件移动到其他计算机并使用以下命令更新那里的更改: git pull /path/to/repoName.bundle 创建本地远程存储库 捆绑包解决了在没有网络的情况下同步 Git 存储库的问题...如果新开发人员加入团队,他们会从谁那里复制存储库?最好的选择是选择一台开发机器作为“服务器”。除了开发人员实际工作的存储库的本地克隆之外,还可以在此开发计算机上创建一个裸 Git 存储库。

26610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    搭建自己的Git服务器

    今天我好奇,想了解下如何搭建自己的Git服务器,于是查了一些资料,记录下整个的流程。 ? 为什么要用自己的Git服务器?...想了想,有下面的优势: 免费的私有仓库 完全的对项目的控制 了解GitHub和GitLab等背后的运作原理 准备 一台可以通过域名或网址访问的服务器 服务器上安装有ssh, git等工具,可以通过下面命令来安装...:sudo apt-get install openssh git 创建git用户 为了访问的便捷,我们使用git用户的身份来创建代码仓库,当然任何用户都是可以的,只不过在git clone的时候,...因为git仓库不需要再服务器上更新,而是通过远程push进行更新,所以我们建立一个裸仓库即可,裸仓库即没有项目代码而只有git元数据的仓库,注意裸仓库后缀都是git。...su -l git mkdir -p ~/src/my-repo.git git init --bare my-repo.git 这样服务器端的操作就完成了。

    3K10

    搭建Git服务器并感受hook使用

    如果你有一台自己的Linux云主机,在上面搭建Git服务器比想象中要简单的多。...# 建立一个裸仓库并设置该仓库目录的组权限为可写。 # 裸仓库就是一个只包含.git子目录的内容,不包含其他资料。...:/usr/git_repo/gittest.git git push origin master # 小张作为另外一个开发人员,可以直接clone项目,并推送自己的改动 # 本地尝试访问并拉仓库。...cloud是我配置ssh主机名称,也可以是IP地址或域名 # 如果不成功检查SSH的配置 git clone git@cloud:/usr/git_repo/gittest.git cd gittest...# 编辑post-receive内容为 echo $(date) >> hook.log 这样push代码到服务器,就会多出一个记录时间的hook.log 你可以优化内容,比如执行代码检查,git

    1.3K20

    在 Ubuntu 14.04 服务器上部署 Hexo 博客

    配置远程仓库自动更新到博客文件目录的钩子。 2.1 创建私有 Git 仓库 在 /var/repo/ 下,创建一个名为 hexo_static 的裸仓库(bare repo)。...2.3 创建 Git 钩子 接下来,在服务器上的裸仓库 hexo_static 创建一个钩子,在满足特定条件时将静态 HTML 文件传送到 Web 服务器的目录下,即 /var/www/hexo。...3.3 通过 Git 部署 到了这一步,可以说万事俱备,只欠东风了。这个东风,就是通过 Git 将 Hexo 生成的静态内容推送到服务器。...打包后的镜像,还可以上传到官方的服务市场,供所有用户使用;还可以直接共享给其他用户。 如果有用户希望使用该镜像,可在本文下方评论区留下自己的腾讯云账号(登录时使用的QQ号或邮箱)。...这里有一点一定要注意,通过镜像启动云服务器时,务必重新设置密码或密钥,否则镜像的制作者有可能轻松地登录你的服务器。 不要选择上图中的方式安装。

    12.3K90

    架设私有的Git服务器

    大家好,又见面了,我是你们的朋友全栈君。 架设私有的Git服务器 Git是一个版本控制系统,现如今正在被全世界大量开发者使用。许多公司喜欢使用基于 Git 版本控制的 GitHub 代码托管。...# 例如,初始密码为123456 ③创建空远程仓库(裸库) cd /home/git # 创建裸库 git init --bare repo.git # repo.git为裸库的名字(repo就类似于之前在...,进入文件夹,执行: git init ⑤建立本地库与远程裸库的连接关系 # git remote add origin Git服务用户名@主机地址:服务器上裸库的地址 git remote add origin...git clone git@你的服务器地址:/home/git/repo.git ⑧自建的git服务器支持免密登录 在客户端上通过以下命令来获取公私玥对(如已有则跳过): ssh-keygen -t...,我们自己私有的GIT配置就已经完成了,现在我们可以享受更安全、高效的GIT使用体验!

    3K20

    git 常用操作总结

    ,时不时地往developer分支上合并就可以了 所以,团队合作的分支看起来就像这样: 12....这样,我们在本地仓库的本地分支和远程分支就都有了,并且始于同一位置。 如果其他人向github上xxx推送了他们的更新,那么服务器上的相应分支就会向前推进。...如果在本地的相应分支进行了commit提交到本地代码库,那么本地的master或者developer分支也会向前推进,不过只要你不和服务器通信数据,那么本地的remotes/origin/master(...注意这里的本地分支master已经前移,服务器上的master分支也已经前移,所以可以说本地的remotes/origin/master是过时的。.../origin/master(developer),然后把remotes/origin/master(developer)的指针移动到最新的位置上: 这就是git fetch origin的作用 比较本地

    18110

    办公技巧:10个WORD神操作,值得收藏!

    如果用户采用的是自己安装的字体,而另一台电脑上又未安装该字体,那么打印时就会自动变成宋体。...这时,如果想要正确打印出该文档,我们可以这样做: 当另存为或保存文档时,可以进入“保存选项”,选择“将字体嵌入文件”,这样就可以把创建此文档所用的字体与文档保存在一起,当在另一台电脑上打开此文档时,仍可用这些字体来查看和打印文档...8 Word图片轻松移 轻松插入移动图片 在Word中可以通过拖动图形来移动它。但是,“嵌入型”的图形只能放置在段落标记处。...首先要将“嵌入型”更改为其他环绕类型 要拖动图形,请单击选中它,然后将它拖动到需要的位置。当然,我们也可以微移选中的浮动图形,选中图形后使用光标键从任意4个方向微移它。...10 格式刷不停 妈妈再也不用担心我手疼了 我们都喜欢用格式刷,方便快捷!但很多人都不知道格式刷其实双击之后可以连续使用!这样就不用每次都重复点击“小刷子”了。

    4.1K10

    Linux从无法启动的机器中恢复文件

    市面上有很多软件声称可以从即将损坏的驱动器中恢复数据,但为什么要冒着购买未经验证产品的风险呢?以下是一些免费的选择。...让我来为你设定一下场景。 你有一台服务器或台式机,它已经运行良好多年了,但突然它无法启动。 天哪。 更糟糕的是,内部驱动器上有一些非常重要的文件。没有这些文件,你可能会陷入困境。...至于连接驱动器的方法,它可以是完整的机箱,也可以只是一根电缆。无论哪种方式,你都需要能够从即将损坏的机器中取出驱动器并将其连接到另一台机器。...复制这些文件,然后将它们粘贴到已连接的另一个驱动器中。继续这样做,直到你从原始驱动器中恢复所有文件。 完成此操作后,你可以关闭机器并将文件移动到当前正在运行的机器。...由于 Linux 应该识别外部和内部驱动器,你只需启动到 Linux,打开文件管理器,导航到要恢复的文件,并将它们移动到位于内部驱动器的文件夹中。

    7410

    Git仓库迁移实操(附批量迁移脚本)

    最近公司组织架构调整,整个组换到新部门,需要将原来组内的项目代码,全部迁移到新的 group 中去(公司用的 gitlab 服务器),要求保留所有的提交记录、分支和标签。...我当然知道 Gitlab 本身是支持创建仓库时通过链接导入的,但前提是管理员开启相关功能。我们此处只讲命令迁移方案。...裸仓库 可以将源端仓库,克隆下来裸仓库,再镜像推送到目的端。...$ git clone --bare git@host:group1/repo.git $ git push --mirror git@host:group2/repo.git 裸仓库是 git 中的一个概念...裸仓库可以再次push到另一个源,所以可以完成我们仓库迁移的任务。公众号 逻魔代码 需要注意,克隆下来的裸仓库中只有 .git 内容,是没有工作目录的。这是不同于镜像仓库的地方。

    1.4K00

    Hexo部署至服务器(续)——建立引导页及分站

    如下图所示) 受限于这种“简单粗暴”的方式,如果我仅仅是想更新“子站”的内容,那么我需要将子站的页面全部渲染完成之后,再将其内容复制到“父站”的相应目录中去,最后渲染“父站”的页面。...同样是利用Hexo,使两个不同主题的结构没有嵌套关系,之后如果想书写不同的内容也可以分别deploy,这才是理想的样子嘛。...下分别创建两个裸仓库:hexo_butterfly.git、hexo_next.git 命令如下: sudo mkdir /var/repo/ sudo chown -R $USER:$USER /var...钩子 1.在之前创建的两个裸仓库中有有一个hooks文件夹,分别在其中创建名为post-receive的钩子文件: 命令如下: butterfly仓库: vim /var/repo/hexo_butterfly.git...可以查看服务器中的内容: image.png 访问测试 访问站点根目录(引导页): image.png 访问butterfly主题分站 image.png 访问next主题分站 image.png

    67320

    git 常用操作总结

    ,时不时地往developer分支上合并就可以了 所以,团队合作的分支看起来就像这样: ?...多人协作工作模式 试图用git push origin branch-name推送自己的修改 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并 如果合并有冲突,则解决冲突,并在本地提交...这样,我们在本地仓库的本地分支和远程分支就都有了,并且始于同一位置。 ? 如果其他人向github上xxx推送了他们的更新,那么服务器上的相应分支就会向前推进。...如果在本地的相应分支进行了commit提交到本地代码库,那么本地的master或者developer分支也会向前推进,不过只要你不和服务器通信数据,那么本地的remotes/origin/master(...注意这里的本地分支master已经前移,服务器上的master分支也已经前移,所以可以说本地的remotes/origin/master是过时的。

    50420

    深入理解 Git 的客户端与服务器角色

    GitHub 提供了仓库的克隆地址,例如: https://github.com/username/example-repo.git 此时,远程仓库为空,但它可以作为一个 服务器,等待本地仓库的交互。...本地仓库通过 .git 文件夹管理自己的版本控制数据。 服务器的多客户端支持: 多个开发者可以从同一个远程仓库克隆代码,并推送自己的更改。...总结:通过 GitHub 理解 Git 的客户端与服务器角色 远程仓库(服务器): GitHub 的远程仓库是一个裸仓库,主要存储版本历史和分支信息,供多个客户端访问。...本地仓库通过 git pull 和 git push 与远程仓库同步,确保代码协作的高效性。 分布式特性: Git 的每个仓库(无论是本地还是远程)都可以既是客户端又是服务器。...这种平等性和独立性是 Git 设计的核心亮点。 通过 GitHub 作为远程仓库,我们更直观地感受到了 Git 的强大分布式协作能力。

    11010

    如何在Ubuntu 14.04上使用Git Hooks部署Rails应用程序

    使用Git hooks将允许您通过简单地将更改推送到生产服务器来部署应用程序,而不必手动拉动并执行诸如执行数据库迁移之类的操作。...没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 您需要在服务器上安装Ruby。...安装PostgreSQL 大多数生产Rails环境使用PostgreSQL作为数据库,所以现在让我们将它安装在您的服务器上。...初始化Git Repo 如果您的应用程序由于某种原因尚未存在于Git存储库中,请初始化它并执行初始提交。 在开发计算机上,切换到应用程序的目录。...您可以使用此命令轻松地在服务器上执行此操作: grep -c processor /proc/cpuinfo 现在,在您的开发计算机上,在config/puma.rb中添加Puma配置。

    2.5K60

    使用mono-repo实现跨项目组件共享

    因为他是跟业务强绑定的,即使我将它作为一个单独的NPM包发布出去,公司的其他项目也用不了。一个不能被其他项目共享的NPM包,始终感觉有点违和呢。...git submodule的基本使用方法网上有很多,我这里就不啰嗦了,主要说几个缺点,也是我们没采用他的原因: 本质上submodule和主项目是两个不同的git repo,所以你需要为每个项目创建一套脚手架...但是使用了mono-repo,因为他们代码都在同一个Git仓库,我们在一个commit里面就可以修改两个项目的代码,然后统一打包,测试,发布,如果我们使用了lerna管理工具,版本号的依赖也是自动更新的.../customer-site lerna bootstrap 上面的图片可以看到,packages/下面的每个子项目有自己的node_modules,如果将它打开,会发现很多重复的依赖包,这会占用我们大量的硬盘空间...然后我们去把admin-site默认的CRA圈圈改成这个水费表单吧: ? 然后再运行下: ? 嗯?报错了。。。如果我说这个错误是我预料之中的,你信吗

    3.1K41

    如何搭建自己的git服务器_git 创建远程仓库

    大家好,又见面了,我是你们的朋友全栈君。 GitHub,Gitee 想来大家都用过,我们的代码就是托管在这些平台上的。因此,你可能好奇为什么我们不自己搭建一个 git 服务器呢?...下面,就开始教大家如何一步步搭建自己的 git 服务器(试验成功的那一刻还是很让人激动的)。...我自己的虚拟机是 centOS7 的,首先肯定要安装 git 和 git-daemon,可以使用自带的 yum 进行安装。...$ git remote add origin ssh://192.168.128.139/root/git/test-repo.git 修改 config 文件 我用的 root 账号登录的,所以 url...text.txt 文件,这是因为我们初始化仓库的时候用的命令 ”git init –bare” 初始化一个裸仓库,至于裸仓库和一般仓库的区别,请参考 git 本地库和裸库的区别_blackcloud-CSDN

    1.9K40

    如何在Ubuntu上安装Chef服务器,工作站和客户端

    工作站安装 我们将使用工作站来创建和编辑指示我们的基础架构环境的实际策略。该机器有一份Chef repo副本,用于描述我们的机器和服务,并将它们上传到Chef服务器以供实施。...我们将从简单安装git版本控制开始: sudo apt-get update sudo apt-get install git 这实际上有两个目的。很明显,我们将在版本控制下保持配置以跟踪更改。...我们可以通过键入以下内容将结构克隆到主目录中: cd ~ git clone https://github.com/opscode/chef-repo.git 这将在主目录创建一个chef-repo的目录...然后我们可以通过在工作站上创建策略并将它们上传到我们的服务器来配置它。...您可以轻松设置其他节点,使其处于Chef系统的配置控制之下。 结论 您现在应该拥有Chef服务器,用于创建配置的单独工作站以及示例节点。

    2.9K30

    Git最全系列教程(四)

    简单地说,裸仓库就是你工作目录中 .git 子目录内的内容。 4.1 协议 Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。...你只需把一份裸仓库的副本放在大家都能访问的地方,然后像对其他共享目录一样设置读写权限就可以了。我们将在下一节“在服务器上部署 Git ”中讨论如何导出一个裸仓库的副本。...它仅取出 Git 仓库的必要原始数据,存放在该目录中,而不会另外创建工作目录。 把裸仓库移到服务器上 有了裸仓库的副本后,剩下的就是把它放到服务器上并设定相关协议。...然而,只是和几个人在一个不公开的项目上合作的话,仅仅是一个 SSH 服务器和裸仓库就足够了,记住这点就可以了。 小型安装 如果设备较少或者你只想在小型开发团队里尝试 Git ,那么一切都很简单。...4.10 Git 托管服务 如果不想经历自己架设 Git 服务器的麻烦,网络上有几个专业的仓库托管服务可供选择。

    1.6K10

    Git 分支管理:优化版本控制与应急处理的关键策略

    使用 Git 分支:轻松管理不同版本和应对紧急情况的最佳实践 使用 Git 分支 在 Git 中,分支是主仓库的新/独立版本。 假设你有一个大型项目,需要对其进行设计更新。...注意:在 checkout 命令上使用 -b 选项会创建一个新分支,并移动到该分支,如果该分支不存在的话。 切换分支 现在让我们看看工作在不同分支上有多么快速和容易,以及它是如何有效地工作的。...我们向此分支添加了一个图像,所以让我们列出当前目录中的文件: ls 我们可以看到新文件 img_hello_world.jpg,如果打开 html 文件,可以看到代码已经发生了变化。...如果打开 html 文件,可以看到代码已经恢复到修改之前的状态。 看看工作在不同分支上有多么容易?以及它是如何允许你在不同的任务上工作的?...我们可以安全地修复错误,而不会干扰其他分支。 让我们修复我们想象中的错误: Hello World!

    15610
    领券