Github装(zao)逼(jia)指(da)南(fa)

Github之于工程师,类似于微博相册之于嫩模,像是个门面。 无论是晋升答辩,还是求职面试,有一个丰富的代码仓库不敢说好处有多大,但总归是有的。并且好处不局限于此,代码开源才会暴露问题才会改正,并且会收到一些很有价值的改动PR。我是受益其中也是乐于其中, 但是可能很多人会因为没有时间写(这不是理由)或是望着干干净净的github不知道如何开始,因而没有写码的兴趣。 本文主要是针对第二点原因对症下药。写一篇这么low的文章 主要是基于一个契机, 我媳妇(iOS程序媛)有时有很多想法,但是她就懒得写。我建议她在github上慢慢敲,她的理由是:我的github太空荡了,就算写了也没脸往外贴,有点杯水车薪的感觉。说的貌似挺有道理的?! 我们男人也都是比较讲道理的,于是我就把她的github“改”成了这样。这张图是改之前这张图是改之后好,接下来就是本文的重点,具体怎么“改”? 在此分享给大家。Gi...阅读全文

What’s the difference between `Commit hash`, `Parent Hash` and `Tree hash` in git?

Parent hashes$ git log --grap* commit c06c4c912dbd9ee377d14ec8ebe2847cf1a3ec7|\ Merge: 79e6924 311376| | Author: linjie <linjielig@gmail.com>| | Date: Mon Mar 14 16:02:09 2016 +080| | | commit| | | Merge branch 'dev| | * commit 31137606f85d8960fa1640d0881682a081ffa9d| | Author: linjie <linjielig@gmail.com>| | Date: Mon Mar 14 16:01:26 2016 +080| | | commit| * | comm...阅读全文

关于微博话题组软件构建与发布工程的分享

针对于“发布工程(Release Engineer)”,也许大家并不陌生。如维基百科中介绍Release engineering, frequently abbreviated as RE or as the clipped compound Releng, is a sub-discipline in software engineering concerned with the compilation, assembly, and delivery of source code into finished products or other software components. Associated with the software release life cycle, it was said by Boris Debic of Google Inc.对于一个有着庞大开发团队...阅读全文

更改Git之前的commit信息

You could dgit rebase -i -p <some HEAD before all of your bad commits>Then mark all of your bad commits as "edit" in the rebase file. If you also want to change your first commit, you have to manually add it as first line in the rebase file (follow the format of the other lines). Then, when git asks you to amend each commit, dgit commit --amend --author "New Author Name <email@address.com>"edit or...阅读全文

同一台电脑关于多个SSH KEY管理

使用环境:关于同一台电脑LInux系统下使用多个SSH key 切换使用(或者多用户使用ssh提交代码要求,可以创建不同的 PUBLIC KEY ,根据下面步骤设置.(1)比如有aaa,bbb,ccc 三个帐号需要生成不同的 PUBLIC KE$ ssh-keygen -t rsGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):/root/.ssh/id_rsa_aaEnter passphrase (empty for no passphrase)Enter same passphrase againYour identification has been saved in /root/.ssh/id_rsa_aaa.Your publi...阅读全文

Git工作流指南:Pull Request工作流

Pull Requests是Bitbucket上方便开发者之间协作的功能。提供了一个用户友好的Web界面,在集成提交的变更到正式项目前可以对变更进行讨论。开发者向团队成员通知功能开发已经完成,Pull Requests是最简单的用法。开发者完成功能开发后,通过Bitbucket账号发起一个Pull Request。这样让涉及这个功能的所有人知道,要去做Code Review和合并到master分支。但是,Pull Request远不止一个简单的通知,而是为讨论提交的功能的一个专门论坛。如果变更有任何问题,团队成员反馈在Pull Request中,甚至push新的提交微调功能。所有的这些活动都直接跟踪在Pull Request中。相比其它的协作模型,这种分享提交的形式有助于打造一个更流畅的工作流。SVN和Git都能通过一个简单的脚本收到通知邮件;但是,讨论变更时,开发者通常只能去回复邮件。这...阅读全文

Gitflow工作流程

    在工作场合实施Git的时候,有很多种工作流程可供选择,此时反而会让你手足无措。本文罗列了企业团队最常用的一些Git工作流程,包括Centralized Workflow、Feature Branch Workflow、Gitflow Workflow、Forking Workflow。愿以此文抛砖引玉。在你开始阅读之前,请记住:这些流程应被视作为指导方针,而非“铁律”。我们只是想告诉你可能的做法。因此,如果有必要的话,你可以组合使用不同的流程。(本文主要介绍Gitflow Workflow……Vincent Driessen曾经写过一篇博文,题为“A successful Git branching model”(一个成功的Git分支模型)。Gitflow工作流程就是从这篇文章里来的。Gitflow工作流程围绕项目发布定义了严格的分支模型。尽管它比Feature Branch W...阅读全文

Git与SVN的使用感受

这是一篇上网一搜一大堆的文章,所以,重在个人感受(不说具体实现,当然现在也不懂!)。工作环境需要,分别接触了Git和SVN版本控制工具。接触不久,尽管这两种工具都不是很熟悉,目前仅能达到满足简单的工作需求(有时还需要查引擎)。但,还是有一些感受以记录。分支(branches)与里程碑(tagsGit的分支和里程碑很有趣和简单,可以快速地在当前工作区切换不同的分支和里程碑。SVN的分支和里程碑本身就是一个目录(拷贝),目录下分别有一个.svn的文件夹以存储版本信息。所以,SVN切换分支很麻烦,需要切换工作区(每一个工作区只对应服务器的某一分支)。而Git却很方便。集中式与分布式这个事情和上面的分支和里程碑是有重叠的地方的。Git采取的是分布式。简单的说就是每台checkout过代码的笔记本上都有着一个完整的代码库。而SVN却是集中式的,只有一个是代码仓库,就是服务器。所以,Git可以本地提交,SVN需联网提交。...阅读全文