zoukankan      html  css  js  c++  java
  • github 手记

    以下内容来源自网络,整理出来以备查阅:

    1. 什么是github 

    github公司提供的代码托管服务,参考wiki http://zh.wikipedia.org/wiki/GitHub 官网:https://github.com/

    个人可以申请免费的代码托管服务,把自己的代码开源。

    2. 小团队如何使用github

    在申请github账户后,可以把账户转成组织形式,把团队成员分在不同的team中,并设置权限。

    参考《GotGitHub》 http://www.worldhello.net/gotgithub/index.html

    3. git 客户端  

    Windows https://windows.github.com/

    Mac https://mac.github.com/

    4. git 常用命令

    转一个博友 阳光岛主的文章 http://blog.csdn.net/ithomer/article/details/7529022

    5. github的工作流(workflow)

    原文http://scottchacon.com/2011/08/31/github-flow.html

    繁体翻译 http://blog.krdai.info/post/17485259496/github-flow

    由于繁体翻译的网页可能会在某些时候打不开(你懂的)

    转帖如下:

    在 git workflow 的相關文章當中,最出名的就是 git-flow,不過 git-flow 的最大問題就是實在是太複雜了。所以我一直想找個比較簡單的方法, Scott Chacon 這篇文章主要就是講在 GitHub 內部使用的方法,以下是簡單的整理。

    GitHub Flow

    在 git-flow 當中,是圍繞著 release 的概念所構成,不過在 GitHub 當中其實沒有真正所謂的 release,通常 GitHub 每天都會做 deploy,所以另外搞個 release branch 太麻煩了。在 GitHub 當中, 他們使用 git 的 principle 如下:

    • 所有在 master branch 的程式都是 deployable 的
    • 如果要增加新功能,從 master 當中開一個敘述此新功能的 branch (像是 new-oauth2-scopes 之類的)
    • 在本地端 commit 到這個 branch,並且經常性的 push 到 server 上面同名的 branch
    • 如果需要 feedback、幫助或是你完成這個功能可以 merge 回去的時候的時候,pull request
    • 如果有人 review 過並且簽名之後,就可以 merge 回 master
    • 只要 merge 之後馬上 deploy 程式碼

    相對於 git-flow 那一堆有的沒的 branch,GitHub flow 的規則簡單許多,下面分別對每項 principle 再做些說明。

    在 master branch 當中的任何東西都是 deployable 的

    這是整個 GitHub flow 當中最重要的規定,所有在 master branch 上面的 code 都必須是可以 deploy 上去的,也就是說必須通過測試還有可以 build。所以必須在其他 branch run 過 test 才可以 merge 回 master branch。

    在 master branch 中開一個敘述新功能的 branch

    當要開始做新功能的時候,就直接從 master branch 開一個新的 branch,branch 名稱就是敘述新功能在幹啥。這有幾點好處,一個就是你可以看到別人在做啥東西,另外就是如果有一陣子沒碰這個 branch,之後回來繼續搞的時候可以很容易的回想起來之前在幹啥。因為在 github 中可以直接在 Branch List 看到目前的所有 branch,所以可以很明確清楚的看到接下來可能會有哪些 features 以及目前的狀況。

    經常性的 push 到同名的 branch

    既然只要確保 master branch 不要被搞爛就好,那麼 push 到其他的 branch 也不會造成太多的困擾。經常性的 push 除了可以讓你的 source code 有備份之外,也是個和他人保持溝通的管道。

    隨時都可以發 pull request

    在 GitHub 中,可以用 pull request 來當做 code review system,GitHub 的 pull request 基本上就是拿來溝通用的。

    只有在 review 過後才 merge

    在 feature branch merge 回 master 前,基本上你的 code 都要讓公司裡面的其他人看過並且簽名。只要 review 過程 ok 而且這個 feature branch 通過 CI,就可以 merge 回 master

    Review 過後馬上 deploy 程式碼

    在你的 code merge 回 master 後,就馬上 deploy。

    結論

    相對於 git-flow 來說,GitHub 的 work flow 簡單許多,對於會在一段時間之內做一次 formal release,或是必須對於不同的 branch 做維護的團隊來說,git-flow 會是個很好的選擇。 不過對於經常 testing 以及 deploying 的團隊來說,比較簡單的 GitHub flow 會比較符合需求。

  • 相关阅读:
    视频高清直播RTMP视频推流组件EasyRTMP-IOS版如何使用wchar_t*类型参数?
    设计模式
    算法学习【第10篇】:算法之动态规划问题
    算法学习【第9篇】:算法之斐波那契数列
    算法学习【第8篇】:贪心算法找零问题
    算法学习【第7篇】:算法之迷宫问题
    算法学习【第6篇】:算法之数据结构
    算法学习【第5篇】:常用排序算法(*******)
    算法学习【第4篇】:算法之---堆的简单介绍
    算法学习【第3篇】:树和二叉树简介
  • 原文地址:https://www.cnblogs.com/walterhuang/p/github.html
Copyright © 2011-2022 走看看