Hugh's Blog

Linux 搭建 Git 服务器

搭建 Git 服务器很简单,做个记录。 首先添加 git 用户并配置: sudo adduser git su git cd mkdir .ssh && chmod 700 .ssh touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys # 添加公钥到 a...

Git 合并分支忽略 commit 记录

平常在测试的时候会开启测试分支,但是不能保证每次提交的 commit log 都是有意义的,而在合并测试分支的时候需要忽略掉这些 commit log,简单的做法是在合并的时候加上 --squash 参数,例如: git checkout master git merge --squash develop 执行了命令之后,会把 develop 修改过的...

使用 GitHub Webhooks 部署网站

之前在更新文章的过程中,需要做的事情有两件:备份文章到 GitHub 和本地创建静态文件并提交到服务器 (Git Hooks),感觉上还是有点麻烦,而且 VPS 已经禁止密码登录 (SSH 密钥登录),而刚好 GitHub 为每个仓库提供了 Webhook 功能,简单来说,当 push 事件触发时,GitHub 会发送一个 POST 请求到我们配置的地址,这...

使用 Git Hooks 自动部署代码

自动化部署代码主要是用 Git Hooks,分别需要在服务器与本地开发环境进行配置。 服务器配置 首先建立一个裸仓库来作为触发钩子,这个仓库是要给本地开发环境提交的 cd ~ mkdir remote cd remote git --bare init 建立代码仓库,用来拉取上面的裸仓库代码,这里直接在网站根目录下建立了,然后可以配置网站目录指向 ...

Git 回滚到旧的提交

git reset,会清除 commit 记录,一般在仓库还没提交到远程时使用 # ~ 加数字指回滚最近几次的提交 git reset --hard HEAD~1 # 强制推送 git push -f origin master git revert,不会清除 commit 记录,而且会添加一条新的 commit 记录指明此次提交为回滚操作,一般当提交...

Git 忽略文件权限修改监控

在使用 git diff 时返回如下信息 old mode 100644 new mode 100755 原因是对文件权限进行了修改,如果要忽略 git 对文件权限的监控,修改下 git 的配置就行 git config core.filemode false 可以添加 --global 参数,但不会修改当前项目的配置。 ...