技术小白建站日志(四)——Git使用,增加投票数量,增加主题

1. Git命令

尽管已经用上了PuTTY,但是在dos界面上编辑毕竟非常麻烦。于是在奈奈的耐心指导和帮助下,我决定开始学习Git命令。

主要参考了两个教程:廖雪峰老师的 https://www.liaoxuefeng.com/wiki/896043488029600 偏向手把手一步一步解释概念,适合入门;而Git官方手册的中文翻译 https://git-scm.com/book/zh/v2 中的命令则更加全面,https://www.atlassian.com/git/tutorials/setting-up-a-repository 这份英文教程也值得参考,有一些上面遗漏的命令。本文不会对基本概念和详细操作进行解释,请仔细阅读上述材料。

几个常用命令:

git branch        #查看分支
git remote -v     #查看远程分支
git status        #查看目前本地修改情况是否全部提交
git checkout 分支名     #转到该分支
git checkout -b 分支名     #新建分支并转到该分支

因为我在自己的服务器上已经进行了部分魔改(主要是字数改得太累不想再弄一次了),而官方当时也往前推进了很多commit,所以我最后采用了新建空白库并进行推送更新,而没有直接从官方fork到我自己的库。如果尚未进行魔改,可以考虑通过fork再进行改动的方式。

归纳下来(把弯路去掉之后)操作如下(时间久了有点忘了,万一有错漏大家请务必提醒):

  1. 注册GitHub,创建新的空白分支。

我这里以我创建的mastodon库为例。创建完空白分支后,GitHub会自动在空白分支页面显示这样的提示:

…or create a new repository on the command line

echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/pullopen/mastodon.git
git push -u origin master
                

…or push an existing repository from the command line

git remote add origin https://github.com/pullopen/mastodon.git
git push -u origin master

…or import code from another repository

You can initialize this repository with code from a Subversion, Mercurial, or TFS project.

因为我们要将我们服务器中已经存在的程序提交上去,所以采用的应该是git remote add和git push这两个命令。

  1. 将之前做过的本地提交修改版本至版本库。

打开服务器控制界面。

su - mastodon
cd live          #转至mastodon用户live文件夹
git branch       #查看分支,*代表的是所在分支,一般没有动过的话,默认主分支为master
git branch 新名字           #新建分支。我之前因为根据官方指南升级后指向了v3.1.4这个tag,所以显示的会是HEAD detached状态,需要新建一个分支才能进行之后的提交。我是将这个分支名字创建成了master。
git checkout master      #转到刚刚新建的master分支。
git status       #查看自己分支的状态。我当时进行了一部分改动,所以显示出有改动未提交。
git add -A       #将所有修改提交至暂存区
git commit -m "注释xxx"     #将所有暂存区中的修改提交至版本库,并添加注释xxx

现在本地进行过的修改已经提交至本地的版本库。

  1. 将本地版本库提交至远程库
git remote rename origin upstream     #将原先官方远程库从origin改名为upstream。我这一步纯粹是为了方便,无所谓用不用。如果跳过这一步,下面对自己远程库的命名换一个即可。
git remote add origin https://github.com/pullopen/mastodon.git         #添加自己的空白库为远程库并命名为origin。
git remote -v    #查看自己的远程分支。正常情况下应该会显示origin和upstream各两个。
git push -u origin master    #将本地master分支提交至远程origin库中,加-u使两者对应,方便未来使用git pull命令。

现在GitHub中已经出现了你本地的内容。

  1. 修改

从现在开始,你的修改可以不再需要在服务器控制面板中进行。

下载GitHub DesktopVisual Studio Code并安装。

打开GitHub Desktop,登录,左上角Clone Repository将你在GitHub上的Mastodon克隆到你的电脑中。

现在三个地方存着你的Mastodon:你的电脑,GitHub,你的服务器。而你可以在电脑上进行修改→推送到GitHub→再拉到你的服务器中,以此完成一次修改。

在GitHub Desktop中,点击Open in Visual Studio Code,在VS中打开你所有代码(以资源管理器形式显示)。

修改,保存,点击左侧(长得像分支一样的)Source Control按钮,点上面的勾提交至电脑的版本库中(会提示你要不要跳过保存到暂存区一步,选择是)。

在GitHub Desktop中push,将修改提交到GitHub上。

打开服务器:

git checkout master    #转到master分支
git pull       #将GitHub上的origin/master分支上的改动直接拉下并合并至本地master分支


#或者
git fetch origin     #将origin的改动拉到本地
git checkout master    #转到master分支
git merge origin/master    #将origin/master上的改动和本地合并

现在你服务器中的版本和GitHub已经同步,可以根据需要选择precompile或者重启。

  1. 升级

因为进行了这样的改动,在升级过程中最开始几步不能再参照官方文档的指示进行,而需要增加一步合并过程。以升级至v3.1.5为例:

git fetch upstream    #拉取官方库内容
git checkout master   #转到master分支
git merge v3.1.5      #将相应的tag合并至master分支
git push origin master    #将改动后的master分支推送到你自己的远程库

然后再根据官方指示进行。

  1. 修改网站参数

在@GensouSakuya 提醒下,按照mastodon采用的AGPL3.0协议,站长作为服务提供者,任何对源代码的改动都要开源,并在站内公开repo地址。在.env.production文件里加一行配置:

GITHUB_REPOSITORY=pullopen/mastodon

重启后,站内显示的就是即为使用的repo地址。

2. 增加投票数量

按@bgme站长的操作进行改动:https://github.com/pullopen/mastodon/commit/537c4fe6eb9a484546dda4776d765114fbb7c50a

3. 增加站点主题

本来我是在管理界面的本站CSS中进行设置,但考虑到未来本站如果要开放,总还是多一点主题可以选择比较好。根据@dmonad大佬的指导

1、在app/javascript/styles下新建一个scss文件,如命名为cyberpunk-neon.scss。

2、第一行加上

@import 'application';

*注:如果css代码基于亮色主题,前面加上三行:

@import 'mastodon-light/variables';
@import 'application';
@import 'mastodon-light/diff';

后面添加css代码。

3、在config/themes.yml加一条指向上面这个文件的内容,使用相对路径。比如(我为了方便起见两个命名一样):

cyberpunk-neon: styles/cyberpunk-neon.scss

4、(可选)为该主题命名。在config/locales/en.yml中搜索themes,并在下方按字母顺序加入显示给用户的名字。这里不是文件名,而是对应上面你指定的名字(冒号前面那个)。后面这个则是显示给用户的主题名字。

cyberpunk-neon: Cyberpunk Neon

如果要加中文显示名,注意en.yml一定要有,然后再在config/locale/zh-CN.yml的themes部分添加相应条目,也需要按照字母顺序排列。

5、Precompile并重启。

RAILS_ENV=production bundle exec rails assets:precompile
exit
systemctl restart mastodon-sidekiq
systemctl reload mastodon-web

主题添加便完成啦!

主题CSS代码可以到UserStyle上寻找,可以在浏览器安装Stylus插件先进行试用和调试。(用户本身就可以利用这个插件给自己更换主题)。

顺便一个@dmonad大佬写的头像猫耳css,超可爱:https://gist.github.com/umonaca/8c6ceff6941dbb486006cb7d2975845b 长毛象从此变成长猫巷!

发布者:Pullopen

当我伸出手来,总希望能抓住些什么,不至于落入对空虚无尽的恐慌之中。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

您正在使用您的 WordPress.com 账号评论。 登出 /  更改 )

Google photo

您正在使用您的 Google 账号评论。 登出 /  更改 )

Twitter picture

您正在使用您的 Twitter 账号评论。 登出 /  更改 )

Facebook photo

您正在使用您的 Facebook 账号评论。 登出 /  更改 )

Connecting to %s

在 WordPress.com 上创建您自己的网站
立即开始
%d 博主赞过: