前两天在 Github 上,把法语记忆和纸记卡片两个项目从 private 变成了 public(点击直达Github 主页)。主要有这么一些考虑:
前者从完成到现在已经有挺长时间了,而且也更新了挺多的版本,算是 commit 最多的项目;后者虽然完成不久,但是确实没什么功能好更新的,差不多就长那样。
原本在 Github 的个人主页上只有艰难的选择
,而这个项目从上线了之后就再也没更新过。为了增加一点主页的生气,所以把这两个在更的项目开源(至少「法语记忆」还要更新)。
法语记忆这类应用的核心觉得是数据,而它的程序只不过是一张可以查询这些数据的皮。虽然使用的这些数据互联网上都是公开的,但是真正要应用到自己的项目上,还是需要经过一定的处理。
这里不得不夸一下:Python 真好用 🌚,基本上各种奇奇怪怪的数据都是用 Python 完成。还要补充一句:用 Python 不代表要会 Python,装上 Anaconda
(乱七八糟 Python 环境全部搞定),然后能站在巨人的肩膀上修修改改就能达到目标 🎯。比如大量文件重命名、数据重新处理、批量写入 Excel 或者爬虫等等枯燥乏味的工作,它都能自动化完成。
另外觉得给 Github
上面的 release
挺有意思的,还好以前的历史分支都在。前两天也第 1 次使用了一下这个功能:把法语记忆
之前的版本都列了出来(v3.0.0
以上),每个版本底下都有两个源代码压缩包。
为什么要使用 Github?
从 Github
注册起的两年里都没有好好的用过它,因为对我来说没有用或者说是根本没有意识到要用。其实 Github
(包括功能类似的其他网站,比如码云
等)的使用者不仅仅局限于程序员,各行各业的人都能使用:组织和管理自己的内容。这里的内容可以指笔记、文章或者是程序,使用 Git 可以清晰地看到历史修改记录、看到文件的变化、版本控制。Git
的专业名称叫:分布式版本控制系统
。
比如说写论文:写完了之后,老师说这里要加点东西、那里要删掉点什么。然而需要删掉的那些东西之后可能会有用,所以就复制粘贴了一份新的 word,命名为论文 2.0 版.docx
。如此往复,最后会发现自己的文档会变成论文真的真的最后一版.docx
。但是真的会是最后一版吗?
上述过程其实就是版本控制,只不过是通过手动完成的。所以面对这样的情景时,需要有一个工具来帮助控制版本,能够方便的查询自己修改了哪些内容、在什么时候修改的,而这个工具就是 Git
。
Git 是一个开源的分布式版本控制系统;Github 是一个用 git 做版本控制的项目托管平台。Github 只是这类工具中比较著名的一个,其他的还有比如:码云 gitee
、腾讯开发者平台
、coding.net
等。
比如像上面的那张图一样,当加粗了笔记中的一段话之后(Markdown
中,将一段文字包裹在 4 个星号之间即可加粗),就会在客户端上高亮显示变化。甚至哪里多了或者少了一个空格也能显示地清清楚楚。
不是专业的程序员如何使用 Github?
一般来说,网上搜索 Git
的使用方法:打开文章之后 10 秒劝退。所以的建议是下载一个 Github 的桌面客户端
,点一点就能完成版本控制、推送、拉取等过程,比起代码行命令
友好多了。
- 注册一个
Github 的账号
并登录桌面客户端
。 - 点击
Add
→Create new repository
。 - 给仓库取个名字、选择路径,其他的先不管,点击创建即可。
- 然后就能在刚才的路径中找到刚才的仓库(其实就是一个文件夹),在这个文件夹中的任何变化都会被 git 工具察觉。
当们创建了一个仓库之后,所有文件的修改都会被 Github 这类版本控制工具侦测到。如果要保留这个修改后的版本:
- 先写一点修改了哪些地方的说明。
- 点击
Commit to XXX
。 - 点击
History
就可以看到所有的历史提交和修改详情。 - 点击
Fetch origin
就能和 Github 的站点同步。
于是这次的修改便保存到了自己本地的仓库(其实就是文件夹),然后可以再通过上述操作把这些文件传输到网络的仓库上(比如 Github)。
这些 Git 工具还有很多可以深挖的功能,这里不再赘述。比如:Fetch 旁边有一个按钮可以管理分支,可以用于同时进行多个功能的开发和版本管理或者多人合作的场景,最后将满意的分支合并到 master
。
这类工具对于一般用户而言还是有一定的局限性,各种笔记软件不香嘛?当然香。不过,版本控制工具的使用也不妨是一种值得尝试的解决方案。