学习笔记《Github》

虽然已经使用 Github 很久了,但是这次确是抱着完全不一样的心情写的学习笔记,Github 可能具有着比我以前估计多的多的价值,原因是最近一段时间遇到的一些启发:

  • Linux 和 Git 的创始人 Linus Torvalds 做的一个 TED 分享,他是为了存粹的孤独工作才写的 Git,而 Git 的孤独哲学,非常完美的迎合了他的受众:
    https://www.ted.com/talks/linus_torvalds_the_mind_behind_linux
  • 目前最流行的包管理分发工具 npm 和 composer 都是以版本管理系统为核心的,实质上就是以 Github 为核心,这是一种让全世界上千万程序员合作到一起的有效机制
  • Github 提供了开放的 OAuth 机制,对其账号的绑定可以让程序以外的大量辅助性事务交托给其管理

传统意义上 Github 的价值就不赘述了,包括:

  • 盈利方式
  • 协议

Github 的第一个版本发布于2008年,作者是 Tom Preston-Werner,wikipedia 上对其的介绍,2014年因为一起莫名的骚扰时间而离职:

Thomas "Tom" Preston-Werner (born October 28, 1979) is a software developer, inventor and entrepreneur. He is an active contributor amongst the open-source development community, most prominently in the San Francisco Bay Area where he lives.
Preston-Werner grew up in Dubuque, Iowa. His father died when he was a child. His mother was a teacher and his stepfather was an engineer.
He graduated grade school at Dubuque Senior High School and attended Harvey Mudd College in Claremont, California for 2 years before dropping out to pursue other endeavours.

很喜欢 Github 提供的 OAuth 功能,可以设置愿意开放的权限,并生成一个校验码,这样的方式非常的灵活,值得学习

在 Github 创建好项目以后会提供一个这样的地址:
[email protected]:samon127/clownfish.git

在本地创建一个库:
git clone [email protected]:samon127/clownfish.git .

新建文件以后添加到库里面:
git add

建这个新建的文件提交到本地的库里面:
git commit -m 'commit content'

最后把这个新库的内容推送到服务器上面:
git push origin master

接着就可以通过各种 Git 的操作进行文件的版本管理了

Github 的 Mac 客户端版,不知道为什么一直很糟糕,属于完全没有办法使用明白的类型

可以使用 Github 的 webhooks 功能方便的让测试服务器自动更新代码,这里我要跪谢这篇文章的作者(关键是需要为 web server 的用户单独创建一个 SSH Key 给到 Github):
http://jondavidjohn.com/git-pull-from-a-php-script-not-so-simple/

帮助调试的代码:

echo shell_exec("git pull 2>&1");
$filePath = './autopullTest.txt';
file_put_contents($filePath, print_r($output, true));

你可能感兴趣的:(学习笔记《Github》)