add ngx_http_proxy_connect_module-master to nginx-1.15.2

前言

原生nginx只支持http正向代理.
为了nginx支持https正向代理,可以打ngx_http_proxy_connect_module-master补丁+ ssl模块支持.

实验

实验环境

win10真机 + debian8.8虚拟机

配置网络

root@localhost:~# cat /etc/network/interfaces
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.11.200
netmask 255.255.255.0
gateway 192.168.11.2

reboot

建立实验目录

su - root
mkdir -p /home/test_nginx/
cd /home/test_nginx/

下载nginx源码

ngx_http_proxy_connect_module-master补丁支持的最新的nginx版本为nginx-1.15.2

wget http://nginx.org/download/nginx-1.15.2.tar.gz
tar -xzvf ./nginx-1.15.2.tar.gz

下载ngx_http_proxy_connect_module

https://github.com/chobits/ngx_http_proxy_connect_module
将下载好的ngx_http_proxy_connect_module-master.zip上传到 /home/test_nginx/

aptitude install unzip
unzip ./ngx_http_proxy_connect_module-master.zip

配置nginx

cd /home/test_nginx/nginx-1.15.2
./configure --help | grep ssl
aptitude update
aptitude search PCRE
aptitude install libpcre3 libpcre3-dev
aptitude search ssl
aptitude install libssl-dev
./configure --add-module=/home/test_nginx/ngx_http_proxy_connect_module-master --with-http_ssl_module

编译完nginx后的信息

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

对nginx打ngx_http_proxy_connect_module-master补丁

注意 nginx-1.15.2对应的补丁为proxy_connect_rewrite_1015.patch,可以先看ngx_http_proxy_connect_module-master的readme

patch -d /home/test_nginx/nginx-1.15.2/ -p 1 < /home/test_nginx/ngx_http_proxy_connect_module-master/patch/proxy_connect_rewrite_1015.patch

运行补丁的结果

补丁的结果很干净。
如果补丁不对,会由错误提示信息.

patching file src/http/ngx_http_core_module.c
patching file src/http/ngx_http_parse.c
patching file src/http/ngx_http_request.c
patching file src/http/ngx_http_request.h
patching file src/http/ngx_http_variables.c

编译打完补丁的nginx-1.15.2

make

安装打完补丁的nginx-1.15.2

make install

nginx的命令行用法

root@localhost:/home/test_nginx/nginx-1.15.2# /usr/local/nginx/sbin/nginx -h
nginx version: nginx/1.15.2
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/local/nginx/)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file

查看当前nginx的编译配置清单

root@localhost:/home/test_nginx/nginx-1.15.2# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.15.2
built by gcc 4.9.2 (Debian 4.9.2-10) 
built with OpenSSL 1.0.1t  3 May 2016
TLS SNI support enabled
configure arguments: --add-module=/home/test_nginx/ngx_http_proxy_connect_module-master --with-http_ssl_module

测试打完补丁的nginx-1.15.2的配置文件

find / -name 'nginx'
root@localhost:/home/test_nginx/nginx-1.15.2# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

修改打完补丁的nginx-1.15.2的配置文件-支持https正向代理

这个配置文件就用ngx_http_proxy_connect_module-master自带的配置文件

/usr/local/nginx/sbin/nginx -s stop
cat /usr/local/nginx/conf/nginx.conf

找一个可用的代理端口

lsof -i:8080
root@localhost:/home/test_nginx/nginx-1.15.2# cat /usr/local/nginx/conf/nginx.conf
# @file /usr/local/nginx/conf/nginx.conf

worker_processes  1;

error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
      listen                         8080;

      # dns resolver used by forward proxying
      resolver                       8.8.8.8;

      # forward proxy for CONNECT request
      proxy_connect;
      proxy_connect_allow            443 563;
      proxy_connect_connect_timeout  10s;
      proxy_connect_read_timeout     10s;
      proxy_connect_send_timeout     10s;

      # forward proxy for non-CONNECT request
      location / {
         proxy_pass http://$host;
         proxy_set_header Host $host;
      }
    }
}

测试配置文件修改的是否正确

root@localhost:/home/test_nginx/nginx-1.15.2# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

启动nginx

root@localhost:/home/test_nginx/nginx-1.15.2# /usr/local/nginx/sbin/nginx -s stop
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
root@localhost:/home/test_nginx/nginx-1.15.2# /usr/local/nginx/sbin/nginx

安装curl用来测试https正向代理

aptitude search curl
aptitude install curl

测试https正向代理是否生效

curl https://github.com/ -v -x 192.168.11.200:8080 >& /home/test_nginx.log

查看日志,可以看到https正向代理已经成功

* Hostname was NOT found in DNS cache
*   Trying 192.168.11.200...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 192.168.11.200 (192.168.11.200) port 8080 (#0)
* Establish HTTP proxy tunnel to github.com:443
> CONNECT github.com:443 HTTP/1.1
> Host: github.com:443
> User-Agent: curl/7.38.0
> Proxy-Connection: Keep-Alive
> 

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0< HTTP/1.1 200 Connection Established
< Proxy-agent: nginx
< 
* Proxy replied OK to CONNECT request
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
} [data not shown]
* SSLv3, TLS handshake, Server hello (2):
{ [data not shown]
* SSLv3, TLS handshake, CERT (11):
{ [data not shown]
* SSLv3, TLS handshake, Server key exchange (12):
{ [data not shown]
* SSLv3, TLS handshake, Server finished (14):
{ [data not shown]
* SSLv3, TLS handshake, Client key exchange (16):
} [data not shown]
* SSLv3, TLS change cipher, Client hello (1):
} [data not shown]
* SSLv3, TLS handshake, Finished (20):
} [data not shown]
* SSLv3, TLS change cipher, Client hello (1):
{ [data not shown]
* SSLv3, TLS handshake, Finished (20):
{ [data not shown]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* Server certificate:
* 	 subject: businessCategory=Private Organization; 1.3.6.1.4.1.311.60.2.1.3=US; 1.3.6.1.4.1.311.60.2.1.2=Delaware; serialNumber=5157550; C=US; ST=California; L=San Francisco; O=GitHub, Inc.; CN=github.com
* 	 start date: 2018-05-08 00:00:00 GMT
* 	 expire date: 2020-06-03 12:00:00 GMT
* 	 subjectAltName: github.com matched
* 	 issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 Extended Validation Server CA
* 	 SSL certificate verify ok.
> GET / HTTP/1.1
> User-Agent: curl/7.38.0
> Host: github.com
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Wed, 28 Nov 2018 11:12:35 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
* Server GitHub.com is not blacklisted
< Server: GitHub.com
< Status: 200 OK
< Cache-Control: no-cache
< Vary: X-PJAX
< Set-Cookie: has_recent_activity=1; path=/; expires=Wed, 28 Nov 2018 12:12:35 -0000
< Set-Cookie: logged_in=no; domain=.github.com; path=/; expires=Sun, 28 Nov 2038 11:12:35 -0000; secure; HttpOnly
< Set-Cookie: _gh_sess=V3M1eUZQK1QvSXozOUh4dE50Vm8vL21NWFZwbTdQMzdWZitpa3VxK1hFZm9tOTNJbVZYVUhFaFdtMHEwTUM3VnBiWkpJRjFMRWNITWtZN3c2b1AybXlHdjc3ZzlpUHNLNU9BdSs3YmZxbXlhRmhyWXZNY0ZFN2lMcXBxay94T0FwMmFyOUpSbkNtSDlkNzFDMmppSXhvMVR0OHN4REoyM3NCUEpEblUzOEdJc2UvRXhkSmQxVDlpdVVlMTRZVE1DTXNXVGJkVGRuNUFZUHZKVklJQk1TZz09LS1ZMkR1WU9NZTRnd000YzNIU3RIZ0RnPT0%3D--4be4facb8e3eeaa9be9a99c2eb5543044a8c6abd; path=/; secure; HttpOnly
< X-Request-Id: e9423279-5ea2-481a-aead-ce7b2515a81b
< Strict-Transport-Security: max-age=31536000; includeSubdomains; preload
< X-Frame-Options: deny
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Referrer-Policy: origin-when-cross-origin, strict-origin-when-cross-origin
< Expect-CT: max-age=2592000, report-uri="https://api.github.com/_private/browser/errors"

  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0< Content-Security-Policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com; font-src assets-cdn.github.com; form-action 'self' github.com gist.github.com; frame-ancestors 'none'; frame-src render.githubusercontent.com; img-src 'self' data: assets-cdn.github.com identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; manifest-src 'self'; media-src 'none'; script-src assets-cdn.github.com; style-src 'unsafe-inline' assets-cdn.github.com
< Vary: Accept-Encoding
< X-GitHub-Request-Id: D276:1049:25AD1D1:35EE509:5BFE7822
< 
{ [data not shown]






<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://assets-cdn.github.com">
  <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com">
  <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">



  <link crossorigin="anonymous" media="all" integrity="sha512-lLo2nlsdl+bHLu6PGvC2j3wfP45RnK4wKQLiPnCDcuXfU38AiD+JCdMywnF3WbJC1jaxe3lAI6AM4uJuMFBLEw==" rel="stylesheet" href="https://assets-cdn.github.com/assets/frameworks-08fc49d3bd2694c870ea23d0906f3610.css" />
  <link crossorigin="anonymous" media="all" integrity="sha512-Ny5v7zCiIV6M3ZihevvxYkJaQQritulmmljyShuDy19NhQt2ErB1HnelPvkN7U1cTTmO/h7MwNddq+cP64iEIw==" rel="stylesheet" href="https://assets-cdn.github.com/assets/github-cd2827e3284d3572368e5b2ea7e766f4.css" />
  
  
  <link crossorigin="anonymous" media="all" integrity="sha512-PcJMPDRp7jbbEAmTk9kaL2kRQqg69QZ26WsZf07xsPyaipKsi3wVG0805PZNYXxotPDAliKKFvNSQPhD8fp1FQ==" rel="stylesheet" href="https://assets-cdn.github.com/assets/site-50c740d9290419d070dd6213a7cd03b5.css" />
  
  

  <meta name="viewport" content="width=device-width">
  
  <title>The world’s leading software development platform · GitHub</title>
    <meta name="description" content="GitHub brings together the world’s largest community of developers to discover, share, and build better software. From open source projects to private team repositories, we’re your all-in-one platform for collaborative development.">
    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
  <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
  <meta property="fb:app_id" content="1401488693436528">

    <meta property="og:url" content="https://github.com">
    <meta property="og:site_name" content="GitHub">
    <meta property="og:title" content="Build software better, together">
    <meta property="og:description" content="GitHub is where people build software. More than 28 million people use GitHub to discover, fork, and contribute to over 85 million projects.">
    <meta property="og:image" content="https://assets-cdn.github.com/images/modules/open_graph/github-logo.png">
    <meta property="og:image:type" content="image/png">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="1200">
    <meta property="og:image" content="https://assets-cdn.github.com/images/modules/open_graph/github-mark.png">
    <meta property="og:image:type" content="image/png">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="620">
    <meta property="og:image" content="https://assets-cdn.github.com/images/modules/open_graph/github-octocat.png">
    <meta property="og:image:type" content="image/png">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="620">


  <link rel="assets" href="https://assets-cdn.github.com/">
  
  <meta name="pjax-timeout" content="1000">
  
  <meta name="request-id" content="D276:1049:25AD1D1:35EE509:5BFE7822" data-pjax-transient>


  

  <meta name="selected-link" value="/" data-pjax-transient>

      <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
    <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
    <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">

  <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="D276:1049:25AD1D1:35EE509:5BFE7822" /><meta name="octolytics-dimension-region_edge" content="ap-southeast-1" /><meta name="octolytics-dimension-region_render" content="iad" />




    <meta name="google-analytics" content="UA-3769691-2">


<meta class="js-ga-set" name="dimension1" content="Logged Out">



  

      <meta name="hostname" content="github.com">
    <meta name="user-login" content="">

      <meta name="expected-hostname" content="github.com">
    <meta name="js-proxy-site-detection-payload" content="ZmM4OTAwMTNkNTJmNDdlZWE4YzJlMDdhMWZjMGRhOWUxMmI4OTc4OTZiZjY4NTIxMmQxYjE0MzE0ZDc1MmJkOXx7InJlbW90ZV9hZGRyZXNzIjoiMjAzLjkzLjEyMS4yIiwicmVxdWVzdF9pZCI6IkQyNzY6MTA0OToyNUFEMUQxOjM1RUU1MDk6NUJGRTc4MjIiLCJ0aW1lc3RhbXAiOjE1NDM0MDM1NTUsImhvc3QiOiJnaXRodWIuY29tIn0=">

    <meta name="enabled-features" content="DASHBOARD_V2_LAYOUT_OPT_IN,EXPLORE_DISCOVER_REPOSITORIES,UNIVERSE_BANNER,MARKETPLACE_PLAN_RESTRICTION_EDITOR">

  <meta name="html-safe-nonce" content="95cd074b2c885a4735bb8298d17b37664763d1e7">

  <meta http-equiv="x-pjax-version" content="9b6ba8a4cf4b0c7b6ff5464d95558b26">
  

      <link crossorigin="anonymous" media="all" integrity="sha512-PcJMPDRp7jbbEAmTk9kaL2kRQqg69QZ26WsZf07xsPyaipKsi3wVG0805PZNYXxotPDAliKKFvNSQPhD8fp1FQ==" rel="stylesheet" href="https://assets-cdn.github.com/assets/site-50c740d9290419d070dd6213a7cd03b5.css" />


    <link rel="canonical" href="https://github.com/" data-pjax-transient>


  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">

  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <link rel="mask-icon" href="https://assets-cdn.github.com/pinned-octocat.svg" color="#000000">
  <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://assets-cdn.github.com/favicon.ico">

<meta name="theme-color" content="#1e2327">



  <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">

  </head>

  <body class="logged-out env-production page-responsive min-width-0 f4">
    

  <div class="position-relative js-header-wrapper ">
    <a href="#start-of-content" tabindex="1" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a>
    <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div>

    
    
    


        
<header class="Header header-logged-out js-details-container Details position-relative f4 py-3" role="banner">
  <div class="container-lg d-lg-flex flex-items-center p-responsive">
    <div class="d-flex flex-justify-between flex-items-center">
        <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
          <svg height="32" class="octicon octicon-mark-github text-white" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg>
        </a>

          <div class="d-lg-none css-truncate css-truncate-target width-fit p-2">
            

          </div>

        <div class="d-flex flex-items-center">
            <a class="d-inline-block d-lg-none f5 text-white no-underline border border-gray-dark rounded-2 px-2 py-1 mr-3 mr-sm-5" href="/join?source=experiment-header-dropdowns-home" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up; experiment:site_header_dropdowns; group:dropdowns">Sign&nbsp;up</a>

          <button class="btn-link d-lg-none mt-1 js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
            <svg height="24" class="octicon octicon-three-bars text-white" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M11.41 9H.59C0 9 0 8.59 0 8c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zm0-4H.59C0 5 0 4.59 0 4c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zM.59 11H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1H.59C0 13 0 12.59 0 12c0-.59 0-1 .59-1z"/></svg>
          </button>
        </div>
    </div>

    <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto">
      <div class="d-flex d-lg-none flex-justify-end border-bottom bg-gray-light p-3">
        <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
          <svg height="24" class="octicon octicon-x text-gray" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
        </button>
      </div>

        <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global">
          <ul class="d-lg-flex list-style-none">
              <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
                <details class="HeaderMenu-details details-overlay details-reset width-full">
                  <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
                    Why GitHub?
                    <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
                      <path d="M1,1l6.2,6L13,1"></path>
                    </svg>
                  </summary>
                  <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
                    <a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>
                    <ul class="list-style-none f5 pb-3">
                      <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code review">Code review</a></li>
                      <li class="edge-item-fix"><a href="/features/project-management/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Project management">Project management</a></li>
                      <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Integrations">Integrations</a></li>
                      <li class="edge-item-fix"><a href="/features#team-management" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Team management">Team management</a></li>
                      <li class="edge-item-fix"><a href="/features#social-coding" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Social coding">Social coding</a></li>
                      <li class="edge-item-fix"><a href="/features#documentation" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Documentation">Documentation</a></li>
                      <li class="edge-item-fix"><a href="/features#code-hosting" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code hosting">Code hosting</a></li>
                    </ul>

                    <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
                      <li class="edge-item-fix"><a href="/case-studies" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Case studies">Case Studies <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
                      <li class="edge-item-fix"><a href="/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
                    </ul>
                  </div>
                </details>
              </li>
              <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
                <a href="/business" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Business">Business</a>
              </li>

              <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
                <details class="HeaderMenu-details details-overlay details-reset width-full">
                  <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
                    Explore
                    <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
                      <path d="M1,1l6.2,6L13,1"></path>
                    </svg>
                  </summary>

                  <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
                    <ul class="list-style-none mb-3">
                      <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
                    </ul>

                    <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn &amp; contribute</h4>
                    <ul class="list-style-none mb-3">
                      <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Topics">Topics</a></li>
                      <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Collections">Collections</a></li>
                      <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Trending">Trending</a></li>
                      <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab</a></li>
                      <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides</a></li>
                    </ul>

                    <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4>
                    <ul class="list-style-none mb-0">
                      <li class="edge-item-fix"><a href="/events" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Events">Events</a></li>
                      <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Community forum">Community forum</a></li>
                      <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education</a></li>
                    </ul>
                  </div>
                </details>
              </li>

              <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3">
                <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a>
              </li>

              <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center ">
                <details class="HeaderMenu-details details-overlay details-reset width-full">
                  <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block">
                    Pricing
                    <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative">
                       <path d="M1,1l6.2,6L13,1"></path>
                    </svg>
                  </summary>

                  <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-4 mt-0 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4">
                    <a href="/pricing" class="pb-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a>
                    <ul class="list-style-none mb-3">
                      <li class="edge-item-fix"><a href="/pricing/developer" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Developers">Developer</a></li>
                      <li class="edge-item-fix"><a href="/pricing/team" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Team">Team</a></li>
                      <li class="edge-item-fix"><a href="/pricing/business-cloud" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Business Cloud">Business Cloud</a></li>
                      <li class="edge-item-fix"><a href="/pricing/enterprise" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a></li>
                    </ul>

                    <ul class="list-style-none mb-0 border-lg-top pt-lg-3">
                      <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Compare features">Compare plans <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
                      <li class="edge-item-fix"><a href="/nonprofit" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Nonprofits">Nonprofit <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
                      <li class="edge-item-fix"><a href="https://education.github.com/discount_requests/new" class="py-2 pb-0 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover"  data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal text-gray-light">&rarr;</span></a></li>
                    </ul>
                  </div>
                </details>
              </li>
          </ul>
        </nav>

      <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left">
          <div class="d-lg-flex mr-lg-3 mb-3 mb-lg-0">
            <div class="header-search   js-site-search position-relative js-jump-to"
  role="combobox"
  aria-owns="jump-to-results"
  aria-label="Search or jump to"
  aria-haspopup="listbox"
  aria-expanded="false"
>
  <div class="position-relative">
    <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" data-unscoped-search-url="/search" action="/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="&#x2713;" />
      <label class="form-control header-search-wrapper header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container">
        <input type="text"
          class="form-control header-search-input jump-to-field js-jump-to-field js-site-search-focus "
          data-hotkey="s,/"
          name="q"
          value=""
          placeholder="Search GitHub"
          data-unscoped-placeholder="Search GitHub"
          data-scoped-placeholder="Search"
          autocapitalize="off"
          aria-autocomplete="list"
          aria-controls="jump-to-results"
          aria-label="Search GitHub"
          data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=cciKhWNmjJYlLb5Jw19S6w2yc6X8U5syLtNUo6tbpEPgzJ9rOlQ5U6nPXW2SMRAl0Y1O8n79m8yQQoRiN2GyfQ=="
          spellcheck="false"
          autocomplete="off"
          >
          <input type="hidden" class="js-site-search-type-field" name="type" >
            <img src="https://assets-cdn.github.com/images/search-shortcut-hint.svg" alt="" class="mr-2 header-search-key-slash">

            <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container">
              <ul class="d-none js-jump-to-suggestions-template-container">
                <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item" role="option">
                  <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center p-2 jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open" href="">
                    <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none">
                      <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg>
                      <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg>
                      <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg>
                    </div>

                    <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28">

                    <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target">
                    </div>

                    <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search">
                      <span class="js-jump-to-badge-search-text-default d-none" aria-label="in all of GitHub">
                        Search
                      </span>
                      <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub">
                        All GitHub
                      </span>
                      <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span>
                    </div>

                    <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump">
                      Jump to
                      <span class="d-inline-block ml-1 v-align-middle">↵</span>
                    </div>
                  </a>
                </li>
              </ul>
              <ul class="d-none js-jump-to-no-results-template-container">
                <li class="d-flex flex-justify-center flex-items-center p-3 f5 d-none">
                  <span class="text-gray">No suggested jump to results</span>
                </li>
              </ul>

              <ul id="jump-to-results" role="listbox" class="js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container" >
                <li class="d-flex flex-justify-center flex-items-center p-0 f5">
                  <img src="https://assets-cdn.github.com/images/spinners/octocat-spinner-128.gif" alt="Octocat Spinner Icon" class="m-2" width="28">
                </li>
              </ul>
            </div>
      </label>
</form>  </div>
</div>

          </div>

        <a class="HeaderMenu-link no-underline mr-3" href="/login" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign&nbsp;in</a>
          <a class="HeaderMenu-link d-inline-block no-underline border border-gray-dark rounded-1 px-2 py-1" href="/join?source=experiment-header-dropdowns-home" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign&nbsp;up</a>
      </div>
    </div>
  </div>
</header>

  </div>

  <div id="start-of-content" class="show-on-focus"></div>

    <div id="js-flash-container">


</div>



  <div role="main" class="application-main " >
        
<div class="py-6 py-sm-8 jumbotron-codelines">
  <div class="container-lg p-responsive position-relative">
    <div class="d-md-flex flex-items-center gutter-md-spacious">
      <div class="col-md-7 text-center text-md-left ">
        <h1 class="h000-mktg text-white lh-condensed-ultra mb-3">Built for developers</h1>
        <p class="lead-mktg mb-4">
          GitHub is a development platform inspired by the way you work. From <a href="/open-source" class="text-white jumbotron-link">open source</a> to <a href="/business" class="text-white jumbotron-link">business</a>, you can host and review code, manage projects, and build software alongside 31 million&nbsp;developers.
        </p>
      </div>
        <div class="mx-auto col-sm-8 col-md-5 hide-sm">
          <div class="rounded-1 text-gray bg-gray-light py-4 px-4 px-md-3 px-lg-4">
            <form class="home-hero-signup js-signup-form" autocomplete="off" action="/join" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="jsL/YlL9PQmBx3oepwQTQOTIDUXnD/FscBu05Tz3JGtVckrpOOZdHDroBEz19v2pypA31YA/9D5TD7Sr5n2Kng==" />              <dl class="form-group mt-0">
                <dt class="input-label">
                  <label class="form-label f5" for="user[login]">Username</label>
                </dt>
                <dd>
                  <auto-check src="/signup_check/username" csrf="uq4XuW5CY/bfiucpAezs5rfop0ejgi3HGTM4wOqv2cqtHu3NPtTGif/nIM6BzTBN3Aqzj/IRUaGSXuL/eemLOQ==">
                    <input type="text" name="user[login]" id="user[login]" class="form-control form-control-lg input-block" placeholder="Pick a username" autofocus>
                  </auto-check>
                </dd>
              </dl>
              <dl class="form-group">
                <dt class="input-label">
                  <label class="form-label f5" for="user[email]">Email</label>
                </dt>
                <dd>
                  <auto-check src="/signup_check/email" csrf="1WU1GHPFPfpBkxiM9YOjnEtV3Gt5UWi9WxwwqfesEMkitimkuAf53nQYhM+FaousTSz3DZs440JMY4kJkb0TLA==">
                    <input type="text" name="user[email]" id="user[email]" class="form-control form-control-lg input-block js-email-notice-trigger" placeholder="you@example.com">
                  </auto-check>
                </dd>
              </dl>
              <password-strength
                data-minimum-character-count="8"
                data-beginning-of-sentence="Make sure it&#39;s"
                data-checks="[&quot;more than 15 characters&quot;, &quot;or at least 8 characters&quot;, &quot;including a number&quot;, &quot;a lowercase letter&quot;]"
              >
                <dl class="form-group">
                  <dt class="input-label">
                    <label class="form-label f5" for="user[password]">Password</label>
                  </dt>
                  <dd>
                    <input type="password" name="user[password]" id="user[password]" class="form-control form-control-lg input-block" placeholder="Create a password">
                    <p class="form-control-note">Make sure it&#39;s more than 15 characters, or at least 8 characters, including a number, and a lowercase letter.</p>
                  </dd>
                </dl>
              </password-strength>
              <input type="hidden" name="source" class="js-signup-source" value="form-home">
              <input type="text" name="required_field_5bc6" id="required_field_5bc6" hidden="hidden" class="form-control" />
<input type="hidden" name="timestamp" value="1543403555282" class="form-control" />
<input type="hidden" name="timestamp_secret" value="2edc774c7b74d14a229aa9d3e44c1b9c9eb6961f90a852678444a91b744ac624" class="form-control" />

              <button class="btn-mktg btn-primary-mktg btn-large-mktg f4 btn-block" type="submit" data-ga-click="Signup, Attempt, location:teams;">Sign up for GitHub</button>
              <p class="form-control-note mb-0 text-center">
                By clicking &ldquo;Sign up for GitHub&rdquo;, you agree to our
                <a class="" href="https://help.github.com/terms" target="_blank">terms of service</a> and
                <a class="" href="https://help.github.com/privacy" target="_blank">privacy statement</a>. <span class="js-email-notice">We’ll occasionally send you account related emails.</span>
              </p>

</form>          </div>
        </div>
        <div class="d-sm-none text-center">
          <a rel="nofollow" class="btn-mktg btn-primary-mktg btn-large-mktg" data-ga-click="Signup, Attempt, location:jumbotron mobile" href="/join?source=button-home">Sign up for GitHub</a>
        </div>
    </div>
  </div>
</div>

<div class="enterprise-prompt" data-ga-load="Home Enterprise prompt, view, contact request">
  <div class="container-lg p-responsive">
    <div class="col-md-9 col-lg-10 bg-white p-6 mx-auto text-center">
      <h1 class="h1-mktg">Try GitHub Enterprise</h1>
      <p class="mb-3 text-gray">
        Use GitHub on-premises with your own servers or in a private cloud with <a href="/pricing/enterprise" data-ga-click="Home Enterprise prompt, click, text:GitHub Enterprise" class="link-mktg">GitHub Enterprise</a>. Improve your developer efficiency with flexible deployment options, centralized permissions, hundreds of integrations, technical support, and more.
      </p>
      <p class="mb-3 text-center">
        <a class="btn-mktg mb-2 mb-md-0 d-block d-md-inline-block text-center" href="https://enterprise.github.com/contact" data-ga-click="Home Enterprise prompt, click, text:Contact Sales">Contact Sales</a>
        <a class="btn-mktg btn-outline-mktg d-block d-md-inline-block text-center mx-md-1" href="https://enterprise.github.com/trial" data-ga-click="Home Enterprise prompt, click, text:Start a free trial">Start a free trial</a>
      </p>
    </div>
  </div>
</div>


<div class="container-lg p-responsive">
  <div class="text-center py-7 py-md-8 py-lg-9 ">
    <h3 class="h3-mktg text-normal text-gray-light mb-4 lh-condensed">
      More than 2.1 million businesses and organizations use GitHub
    </h3>
    <ul class="d-flex flex-justify-center flex-items-center flex-wrap list-style-none mt-2 mt-md-3 grayscale">
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/airbnb-logo.png" alt="Airbnb" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/sap-logo.png" alt="SAP" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/ibm-logo.png" alt="IBM" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/google-logo.png" alt="Google" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/paypal-logo.png" alt="PayPal" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/bloomberg-logo.png" alt="Bloomberg" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/spotify-logo.png" alt="Spotify" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/swift-logo.png" alt="Swift" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/facebook-logo.png" alt="Facebook" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/node-logo.png" alt="Node.js" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/nasa-logo.png" alt="NASA" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
      <li><img src="https://assets-cdn.github.com/images/modules/site/logos/walmart-logo.png" alt="Walmart" class="logo-img-sm px-2 px-sm-4 px-md-5 my-md-3"></li>
    </ul>
  </div>
</div>

<div class="py-7 py-md-8 py-lg-9">
  <div class="container-lg p-responsive pb-6">
    <h6 class="h4 text-mono text-normal text-gray text-center">
      GitHub for teams
    </h6>
    <h2 class="h00-mktg lh-condensed mt-3 mb-2 text-center">
      A better way to work together
    </h2>
    <p class="lead-mktg text-gray text-center col-md-8 mx-auto mb-4">
      GitHub brings teams together to work through problems, move ideas forward, and learn from each other along&nbsp;the&nbsp;way.
    </p>
    <div class="text-center">
        <a class="btn-mktg btn-large-mktg btn-outline-mktg Bump-link" data-ga-click="Signup, Attempt, location:teams;" href="/join?plan=business&amp;setup_organization=true&amp;source=business-page">
          Sign up your team <span class="Bump-link-symbol">&rarr;</span>
</a>    </div>
  </div>

  <div class="container-xl p-responsive">
    <div class="position-relative overflow-hidden d-lg-flex pt-6">
      <div class="col-10 col-sm-7 mx-auto mx-lg-6 mb-sm-3">
        <img src="https://assets-cdn.github.com/images/modules/site/home-illo-team.svg" alt="" class="d-block width-fit mx-auto">
      </div>
      <div class="col-lg-5">
        <a href="/features/code-review" class="summarylink">
          <div class="summarylink-illustration">
            <img src="https://assets-cdn.github.com/images/modules/site/home-illo-team-code.svg" alt="" class="width-fit mx-auto">
          </div>
          <div class="summarylink-btn d-flex flex-justify-between flex-items-center f5 text-gray-dark rounded-1 p-sm-4 my-4 my-sm-0">
            <div class="col-10">
              <h3 class="h3-mktg text-normal mb-1">Write better code</h3>
              <p class="mb-0">Collaboration makes perfect. The conversations and code reviews that happen in Pull Requests help your team share the weight of your work and improve the software you build. <span class="link-mktg">Learn about code review.</span></p>
            </div>
            <svg class="octicon octicon-triangle-right text-blue" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg>
          </div>
        </a>
        <a href="/features/project-management" class="summarylink">
          <div class="summarylink-illustration">
            <img src="https://assets-cdn.github.com/images/modules/site/home-illo-team-chaos.svg" alt="" class="width-fit mx-auto">
          </div>
          <div class="summarylink-btn d-flex flex-justify-between flex-items-center f5 text-gray-dark rounded-1 p-sm-4 my-4 my-sm-0">
            <div class="col-10">
              <h3 class="h3-mktg text-normal mb-1">Manage your chaos</h3>
              <p class="mb-0">Take a deep breath. On GitHub, project management happens in Issues and Projects, right alongside your code. All you have to do is mention a teammate to get them involved. <span class="link-mktg">Learn about project management.</span></p>
            </div>
            <svg class="octicon octicon-triangle-right text-blue" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg>
          </div>
        </a>
        <a href="/features/integrations" class="summarylink">
          <div class="summarylink-illustration">
            <img src="https://assets-cdn.github.com/images/modules/site/home-illo-team-tools.svg" alt="" class="width-fit mx-auto">
          </div>
          <div class="summarylink-btn d-flex flex-justify-between flex-items-center f5 text-gray-dark rounded-1 p-sm-4 my-4 my-sm-0">
            <div class="col-10">
              <h3 class="h3-mktg text-normal mb-1">Find the right tools</h3>
              <p class="mb-0">Browse and buy apps from GitHub Marketplace with your GitHub account. Find the tools you like or discover new favorites—then start using them in minutes. <span class="link-mktg">Learn about integrations.</span></p>
            </div>
            <svg class="octicon octicon-triangle-right text-blue" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg>
          </div>
        </a>
      </div>
    </div>
  </div>

</div>

<div class="py-7 py-md-8 py-lg-9">
  <div class="container-lg p-responsive">
    <h6 class="h4 text-mono text-normal text-gray text-center">
      Security and administration
    </h6>
    <h2 class="h00-mktg mt-3 mb-2 text-center">
      Boxes? Check.
    </h2>
    <p class="lead-mktg text-gray text-center col-md-8 mx-auto mb-4">
      We worry about your administrative and security needs so you don’t have to. From flexible hosting to authentication options, GitHub can help you meet your team’s&nbsp;requirements.
    </p>

    <p class="text-center mb-5">
      <a href="/business" class="btn-mktg btn-large-mktg btn-outline-mktg mx-auto Bump-link">
          <span class="d-sm-none">How GitHub works for businesses <span class="Bump-link-symbol">&rarr;</span></span>
          <span class="d-none d-sm-inline">See how GitHub works for businesses <span class="Bump-link-symbol">&rarr;</span></span>
      </a>
    </p>

    <div class="d-md-flex flex-items-center flex-row-reverse mt-6 mb-3">
      <div class="col-md-6 mx-auto px-5 pr-md-0 text-center">
        <img src="https://assets-cdn.github.com/images/modules/site/home-illo-business.png" alt="Security and administration" class="width-fit mb-4">
      </div>
      <div class="col-md-6 mx-auto text-md-left f5 p-sm-6">
        <h3 class="h3-mktg text-normal mb-1">Code security</h3>
        <p class="text-gray mb-3 mb-md-5">
          Prevent problems before they happen. Protected branches, signed commits, and required status checks protect your work and help you maintain a high standard for your code.
        </p>

        <h3 class="h3-mktg text-normal mb-1 mt-sm-6">Access controlled</h3>
        <p class="text-gray mb-3 mb-md-5">
          Encourage teams to work together while limiting access to those who need it with granular permissions and authentication through SAML/SSO and LDAP.
        </p>
      </div>
    </div>

    <div class="col-md-7 mx-auto Tile Tile--dots clearfix p-4 border pt-5 bg-white" style="min-height: 0">
      <div class="float-left">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" class="mr-4" width="64px"><title>1clr-code-hosting</title><path d="M27 13h-9a1 1 0 0 0 0 2h9a1 1 0 0 0 0-2zM42 12a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1zM46 12a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1zM27 28h-9a1 1 0 0 0 0 2h9a1 1 0 0 0 0-2zM42 31a1 1 0 0 0 1-1v-2a1 1 0 0 0-2 0v2a1 1 0 0 0 1 1zM46 31a1 1 0 0 0 1-1v-2a1 1 0 0 0-2 0v2a1 1 0 0 0 1 1z" fill="#23292f"></path><path d="M50 44h-1a13 13 0 0 0-4.68-9H48a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3h-5v-3h5a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3H16a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h5v3h-5a3 3 0 0 0-3 3v6a3 3 0 0 0 3 3h11.72a13 13 0 0 0-3.79 5.21A7 7 0 0 0 13.28 44 6 6 0 0 0 14 56h36a6 6 0 0 0 0-12zM15 17v-6a1 1 0 0 1 1-1h32a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H16a1 1 0 0 1-1-1zm8 3h18v3H23zm-7 13a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1h32a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-7a12.9 12.9 0 0 0-10 0H16zm34 21H14a4 4 0 1 1 .09-8 1 1 0 0 0 1-.83 5 5 0 0 1 8.6-2.55 1 1 0 0 0 1.7-.42A11 11 0 0 1 47 45a1 1 0 0 0 1 1h2a4 4 0 0 1 0 8z" fill="#23292f"></path></svg>

      </div>
      <div class="overflow-hidden">
        <h4 class="h4-mktg">Hosted where you need it</h4>
        <p class="f5 text-gray mr-2">Securely and reliably host your work on GitHub.com. Or, deploy GitHub Enterprise on your own servers or in a private cloud using Amazon Web Services, Azure or Google Cloud Platform.</p>

        <a href="/pricing" class="d-block no-underline Bump-link" data-ga-click="Home Enterprise blurb, click, text:Compare plans">Compare plans <span class="Bump-link-symbol">&rarr;</span></a>
        <a href="https://enterprise.github.com/contact" class="d-block no-underline Bump-link" data-ga-click="Home Enterprise blurb, click, text:Contact Sales for more information">Contact Sales for more information <span class="Bump-link-symbol">&rarr;</span></a>
      </div>
    </div>

  </div>
</div>

<div class="py-7 py-md-8 py-lg-9">
  <div class="container-lg p-responsive text-center">
    <div class="col-md-8 py-md-6 mx-auto">
      <h6 class="h4 text-mono text-normal text-gray">
        Integrations
      </h6>
      <h2 class="h00-mktg lh-condensed mt-3 mb-2">
        Build on GitHub
      </h2>
      <p class="lead-mktg text-gray mb-4 px-md-3">
        Customize your process with GitHub apps and an intuitive API. Integrate the tools you already use or discover new favorites to create a happier, more efficient way of working.
      </p>
      <p class="f4 text-center mb-6">
        <a href="/features/integrations" class="btn-mktg btn-large-mktg btn-outline-mktg mx-auto Bump-link">Learn about integrations <span class="Bump-link-symbol">&rarr;</span></a>
      </p>
    </div>

    <div class="apps-cluster d-flex flex-wrap flex-justify-center pb-6">
      <div class="CircleBadge CircleBadge--medium CircleBadge--feature tooltipped tooltipped-s tooltipped-no-delay" style="background-color: #553958;" aria-label="Slack"><img src="https://assets-cdn.github.com/images/modules/site/integrators/slackhq.png" alt="Slack" class="CircleBadge-icon"></div>
      <div class="CircleBadge CircleBadge--medium CircleBadge--feature tooltipped tooltipped-s tooltipped-no-delay" style="background-color: #364e98;" aria-label="ZenHub"><img src="https://assets-cdn.github.com/images/modules/site/integrators/zenhubio.png" alt="ZenHub" class="CircleBadge-icon"></div>
      <div class="CircleBadge CircleBadge--medium CircleBadge--feature tooltipped tooltipped-s tooltipped-no-delay" style="background-color: #eff9f9;" aria-label="Travis CI"><img src="https://assets-cdn.github.com/images/modules/site/integrators/travis-ci.png" alt="Travis CI" class="CircleBadge-icon"></div>
      <div class="CircleBadge CircleBadge--medium CircleBadge--feature tooltipped tooltipped-s tooltipped-no-delay" style="background-color: #5fb57d;" aria-label="Atom"><img src="https://assets-cdn.github.com/images/modules/site/integrators/atom.png" alt="Atom" class="CircleBadge-icon"></div>
      <div class="CircleBadge CircleBadge--medium CircleBadge--feature tooltipped tooltipped-s tooltipped-no-delay" style="background-color: #022531;" aria-label="Circle CI"><img src="https://assets-cdn.github.com/images/modules/site/integrators/circleci.png" alt="Circle CI" class="CircleBadge-icon"></div>
      <div class="CircleBadge CircleBadge--medium CircleBadge--feature tooltipped tooltipped-s tooltipped-no-delay" style="background-color: #f2f2f2;" aria-label="Google"><img src="https://assets-cdn.github.com/images/modules/site/integrators/google.png" alt="Google" class="CircleBadge-icon"></div>
      <div class="CircleBadge CircleBadge--medium CircleBadge--feature hide-sm tooltipped tooltipped-s tooltipped-no-delay" style="background-color: #303030;" aria-label="Code Climate"><img src="https://assets-cdn.github.com/images/modules/site/integrators/codeclimate.png" alt="Code Climate" class="CircleBadge-icon"></div>
    </div>

    <div class="col-md-8 py-md-6 mx-auto">
      <p class="my-2 f5 col-sm-8 col-md-6 mx-auto text-gray">
        Sometimes, there’s more than one tool for the job. Why not try something new?
      </p>
      <p>
        <a href="/marketplace" class="no-underline Bump-link">Browse GitHub Marketplace <span class="Bump-link-symbol">&rarr;</span></a>
      </p>
    </div>
  </div>
</div>

<div class="py-7 py-md-8 py-lg-9">
  <div class="container-lg p-responsive">
    <h6 class="h4 text-mono text-normal text-gray text-center">
      Community
    </h6>
    <h2 class="h00-mktg mt-3 mb-4 lh-condensed text-center">
      Welcome home, <br>developers
    </h2>
      <p class="lead-mktg text-gray text-center col-md-8 mx-auto">
        GitHub is home to the world’s largest community of developers and their&nbsp;projects...
      </p>
  </div>

    <div class="d-flex flex-nowrap flex-items-stretch flex-lg-items-start overflow-auto px-2 py-6 my-6">
      <article class="Story Story--large Story--stagger col-6 col-sm-3 p-2">
  <a href="/case-studies/ariya" class="Story-link  d-block d-lg-flex height-full rounded-1 box-shadow-extra-large">
    <div class="col-lg-6 position-relative overflow-hidden">
      <div class="casestudy-square">
        <img class="d-block height-full position-absolute" alt="Ariya Hidayat" src="https://assets-cdn.github.com/images/modules/site/case-studies/hero/ariya.jpg" />
      </div>
    </div>
    <div class="d-lg-flex flex-items-center col-lg-6">
      <div class="width-full text-center p-3 py-lg-0">
        <h1 class="Story-title h3-mktg text-normal link-gray-dark lh-condensed mb-1">Ariya Hidayat</h1>
        <p class="f6 text-mono text-gray">
            PhantomJS maintainer
        </p>
      </div>
    </div>
  </a>
</article>

      <article class="Story Story--large Story--stagger col-6 col-sm-3 p-2">
  <a href="/case-studies/freakboy3742" class="Story-link  d-block d-lg-flex height-full rounded-1 box-shadow-extra-large">
    <div class="col-lg-6 position-relative overflow-hidden">
      <div class="casestudy-square">
        <img class="d-block height-full position-absolute" alt="Russell Keith-Magee" src="https://assets-cdn.github.com/images/modules/site/case-studies/hero/freakboy3742.jpg" />
      </div>
    </div>
    <div class="d-lg-flex flex-items-center col-lg-6">
      <div class="width-full text-center p-3 py-lg-0">
        <h1 class="Story-title h3-mktg text-normal link-gray-dark lh-condensed mb-1">Russell Keith-Magee</h1>
        <p class="f6 text-mono text-gray">
            PyBee maintainer
        </p>
      </div>
    </div>
  </a>
</article>

      <article class="Story Story--large Story--stagger col-6 col-sm-3 p-2">
  <a href="/case-studies/mailchimp" class="Story-link Story-link--customer d-block d-lg-flex height-full rounded-1 box-shadow-extra-large">
    <div class="col-lg-6 position-relative overflow-hidden">
      <div class="casestudy-square">
        <img class="d-block height-full position-absolute" alt="MailChimp" src="https://assets-cdn.github.com/images/modules/site/case-studies/hero/mailchimp.jpg" />
      </div>
    </div>
    <div class="d-lg-flex flex-items-center col-lg-6">
      <div class="width-full text-center p-3 py-lg-0">
        <h1 class="Story-title h3-mktg text-normal link-gray-dark lh-condensed mb-1">MailChimp</h1>
        <p class="f6 text-mono text-gray">
            Marketing customer
        </p>
      </div>
    </div>
  </a>
</article>

      <article class="Story Story--large Story--stagger col-6 col-sm-3 p-2">
  <a href="/case-studies/kris-nova" class="Story-link  d-block d-lg-flex height-full rounded-1 box-shadow-extra-large">
    <div class="col-lg-6 position-relative overflow-hidden">
      <div class="casestudy-square">
        <img class="d-block height-full position-absolute" alt="Kris Nova" src="https://assets-cdn.github.com/images/modules/site/case-studies/hero/kris-nova.jpg" />
      </div>
    </div>
    <div class="d-lg-flex flex-items-center col-lg-6">
      <div class="width-full text-center p-3 py-lg-0">
        <h1 class="Story-title h3-mktg text-normal link-gray-dark lh-condensed mb-1">Kris Nova</h1>
        <p class="f6 text-mono text-gray">
            Kubernetes/kops maintainer
        </p>
      </div>
    </div>
  </a>
</article>

      <article class="Story Story--large Story--stagger col-6 col-sm-3 p-2">
  <a href="/case-studies/yyx990803" class="Story-link  d-block d-lg-flex height-full rounded-1 box-shadow-extra-large">
    <div class="col-lg-6 position-relative overflow-hidden">
      <div class="casestudy-square">
        <img class="d-block height-full position-absolute" alt="Evan You" src="https://assets-cdn.github.com/images/modules/site/case-studies/hero/yyx990803.jpg" />
      </div>
    </div>
    <div class="d-lg-flex flex-items-center col-lg-6">
      <div class="width-full text-center p-3 py-lg-0">
        <h1 class="Story-title h3-mktg text-normal link-gray-dark lh-condensed mb-1">Evan You</h1>
        <p class="f6 text-mono text-gray">
            Vue maintainer
        </p>
      </div>
    </div>
  </a>
</article>

      <article class="Story Story--large Story--stagger col-6 col-sm-3 p-2">
  <a href="/case-studies/mapbox" class="Story-link Story-link--customer d-block d-lg-flex height-full rounded-1 box-shadow-extra-large">
    <div class="col-lg-6 position-relative overflow-hidden">
      <div class="casestudy-square">
        <img class="d-block height-full position-absolute" alt="Mapbox" src="https://assets-cdn.github.com/images/modules/site/case-studies/hero/mapbox.jpg" />
      </div>
    </div>
    <div class="d-lg-flex flex-items-center col-lg-6">
      <div class="width-full text-center p-3 py-lg-0">
        <h1 class="Story-title h3-mktg text-normal link-gray-dark lh-condensed mb-1">Mapbox</h1>
        <p class="f6 text-mono text-gray">
            Software customer
        </p>
      </div>
    </div>
  </a>
</article>

      <article class="Story Story--large Story--stagger col-6 col-sm-3 p-2">
  <a href="/case-studies/jessfraz" class="Story-link  d-block d-lg-flex height-full rounded-1 box-shadow-extra-large">
    <div class="col-lg-6 position-relative overflow-hidden">
      <div class="casestudy-square">
        <img class="d-block height-full position-absolute" alt="Jess Frazelle" src="https://assets-cdn.github.com/images/modules/site/case-studies/hero/jessfraz.jpg" />
      </div>
    </div>
    <div class="d-lg-flex flex-items-center col-lg-6">
      <div class="width-full text-center p-3 py-lg-0">
        <h1 class="Story-title h3-mktg text-normal link-gray-dark lh-condensed mb-1">Jess Frazelle</h1>
        <p class="f6 text-mono text-gray">
            Kubernetes, previously Docker maintainer
        </p>
      </div>
    </div>
  </a>
</article>

    </div>

  <div class="container-lg p-responsive">
      <p class="lead-mktg text-gray text-center col-md-8 mx-auto pb-md-6">
        ...whether you’re making your first commit or sending a Rover to Mars, there’s room for you here, too.
      </p>

    <div class="gutter-md">
      <div class="communitystats position-relative">
        <a href="/open-source" class="d-inline-block summarylink">
          <div class="circle d-flex flex-column flex-justify-center text-center p-4 mx-auto mt-6 mb-3 m-md-3 bg-orange box-shadow-extra-large">
            <span class="d-block h0-mktg text-normal text-white lh-condensed-ultra mb-2">96M<sup class="f2-light">*</sup></span>
            <span class="f6 text-white">repositories worldwide</span>
          </div>
          <div class="summarylink-btn d-flex flex-justify-between flex-items-center f5 text-gray-dark rounded-1 p-sm-4">
            <p class="col-10 mb-0">GitHub’s users create and maintain influential technologies alongside the world’s largest <span class="text-orange-light">open source&nbsp;community</span>.</p>
            <svg class="octicon octicon-triangle-right text-orange-light" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg>
          </div>
        </a>

        <a href="/personal" class="d-inline-block summarylink">
          <div class="circle d-flex flex-column flex-justify-center text-center p-4 mx-auto mt-6 mb-3 m-md-3 bg-blue box-shadow-extra-large">
            <span class="d-block h0-mktg text-normal text-white lh-condensed-ultra mb-2">31M<sup class="f2-light">*</sup></span>
            <span class="f6 text-white">developers worldwide</span>
          </div>
          <div class="summarylink-btn d-flex flex-justify-between flex-items-center f5 text-gray-dark rounded-1 p-sm-4">
            <p class="col-10 mb-0"><span class="text-blue">Developers</span> use GitHub for personal projects, from experimenting with new programming languages to hosting their life’s work.</p>
            <svg class="octicon octicon-triangle-right text-blue" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg>
          </div>
        </a>

        <a href="/business" class="d-inline-block summarylink">
          <div class="circle d-flex flex-column flex-justify-center text-center p-4 mx-auto mt-6 mb-3 m-md-3 bg-purple box-shadow-extra-large">
            <span class="d-block h1-mktg text-normal text-white lh-condensed-ultra my-2">2.1M<sup class="f3-light">*</sup></span>
            <span class="f6 text-white">businesses and organizations worldwide</span>
          </div>
          <div class="summarylink-btn d-flex flex-justify-between flex-items-center f5 text-gray-dark rounded-1 p-sm-4">
            <p class="col-10 mb-0"><span class="text-purple">Businesses</span> of all sizes use GitHub to support their development process and to securely build software.</p>
            <svg class="octicon octicon-triangle-right text-purple" viewBox="0 0 6 16" version="1.1" width="6" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 14l6-6-6-6v12z"/></svg>
          </div>
        </a>

        <div class="mt-6 ml-md-4 text-gray-light f6">
          * As of October 2018
        </div>
      </div>
    </div>
  </div>

</div>

  <div class="py-7 py-md-8 py-lg-9 bg-gray-dark">
    <div class="container-lg p-responsive text-white text-center">
      <h2 class="h1-mktg text-normal">
        Get started for free &mdash; join the millions of developers already using GitHub to share their code, work together, and build amazing things.
      </h2>
    </div>
    <div class="container-xl p-responsive py-6 mt-lg-6">
      <form class="home-hero-signup js-signup-form" autocomplete="off" action="/join" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="GPRSdZJwZoQEYEiEBpnAD/k6C0SPTO4pqxvVP0k47AfDROf++GsGkb9PNtZUay7m12Ix1Oh863uID9Vxk7JC8g==" />        <div class="d-lg-flex flex-wrap flex-lg-nowrap flex-justify-between">
          <dl class="form-group col-12 col-sm-8 col-lg-3 mx-auto mt-0 mx-lg-0 mb-3 mb-lg-0 px-3">
            <dt class="input-label sr-only">
              <label class="form-label text-gray f5" for="user[login]-footer">Username</label>
            </dt>
            <dd>
              <auto-check src="/signup_check/username" csrf="lSdRNfU7KYppJjCTPQv/Ds4F0sXgMwTAPLuS5CRS3T+Cl6tBpa2M9UlL93S9KiOlpefGDbGgeKa31kjbtxSPzA==">
                <input type="text" name="user[login]" id="user[login]-footer" class="form-control form-control-lg input-block input-lg" placeholder="Pick a username">
              </auto-check>
            </dd>
          </dl>

          <dl class="form-group col-12 col-sm-8 col-lg-3 mx-auto mt-0 mx-lg-0 mb-3 mb-lg-0 px-3">
            <dt class="input-label sr-only">
              <label class="form-label text-gray f5" for="user[email]-footer">Email</label>
            </dt>
            <dd>
              <auto-check src="/signup_check/email" csrf="CkucVuCX8VnFe9TXRTFgIXg3atsfLB7L7L4Bc3lcl5T9mIDqK1U1ffDwSJQ12EgRfk5Bvf1FlTT7wbjTH02UcQ==">
                <input type="text" name="user[email]" id="user[email]-footer" class="form-control form-control-lg input-block input-lg js-email-notice-trigger" placeholder="Your email address">
              </auto-check>
            </dd>
          </dl>

          <dl class="form-group col-12 col-sm-8 col-lg-3 mx-auto mt-0 mx-lg-0 mb-3 mb-lg-0 px-3">
            <dt class="input-label sr-only">
              <label class="form-label text-gray f5" for="user[password]-footer">Password</label>
            </dt>
            <dd>
              <input type="password" name="user[password]" id="user[password]-footer" class="form-control form-control-lg input-block input-lg" placeholder="Create a password">
            </dd>
          </dl>

          <input type="hidden" name="source" class="js-signup-source" value="form-home">
          <input type="text" name="required_field_a6db" id="required_field_a6db" hidden="hidden" class="form-control" />
<input type="hidden" name="timestamp" value="1543403555302" class="form-control" />
<input type="hidden" name="timestamp_secret" value="6c916a6fa8cbe0126f62d608818b902c1ed0ad53f26721d8d8e27c596707e9ea" class="form-control" />

          <div class="col-12 col-sm-8 col-lg-3 mx-auto mx-lg-0 mb-3 mb-lg-0 px-3">
            <button class="btn-mktg btn-primary-mktg btn-block mt-n1" type="submit" data-ga-click="Signup, Attempt, location:teams;">Sign up for GitHub</button>
          </div>
        </div>
        <p class="form-control-note text-center mt-6">
          By clicking &ldquo;Sign up for GitHub&rdquo;, you agree to our
          <a class="text-white" href="https://help.github.com/terms" target="_blank">terms of service</a> and
          <a class="text-white" href="https://help.github.com/privacy" target="_blank">privacy statement</a>. <span class="js-email-notice">We’ll occasionally send you account related emails.</span>
        </p>
</form>    </div>
  </div>


  <div class="modal-backdrop js-touch-events"></div>

  </div>

          <div class="footer mt-6" role="contentinfo">
  <div class="container-lg p-responsive">
    <div class="d-flex flex-wrap py-5 mb-5">
      <div class="col-12 col-lg-4 mb-5">
        <a href="/" data-ga-click="Footer, go to home, text:home" class="text-gray-dark" aria-label="Go to GitHub homepage">
          <svg height="30" class="octicon octicon-logo-github" viewBox="0 0 45 16" version="1.1" width="84" aria-hidden="true"><path fill-rule="evenodd" d="M18.53 12.03h-.02c.009 0 .015.01.024.011h.006l-.01-.01zm.004.011c-.093.001-.327.05-.574.05-.78 0-1.05-.36-1.05-.83V8.13h1.59c.09 0 .16-.08.16-.19v-1.7c0-.09-.08-.17-.16-.17h-1.59V3.96c0-.08-.05-.13-.14-.13h-2.16c-.09 0-.14.05-.14.13v2.17s-1.09.27-1.16.28c-.08.02-.13.09-.13.17v1.36c0 .11.08.19.17.19h1.11v3.28c0 2.44 1.7 2.69 2.86 2.69.53 0 1.17-
100 61937    0 61937    0     0  29538      0 --:--:--  0:00:02 --:--:-- 29536.17 1.27-.22.06-.02.09-.09.09-.16v-1.5a.177.177 0 0 0-.146-.18zM42.23 9.84c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25zm2.43-.16c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88zm-8.72-3.61h-2.1c-.11 0-.17.08-.17.19v5.44s-.55.39-1.3.39-.97-.34-.97-1.09V6.25c0-.09-.08-.17-.17-.17h-2.14c-.09 0-.17.08-.17.17v5.11c0 2.2 1.23 2.75 2.92 2.75 1.39 0 2.52-.77 2.52-.77s.05.39.08.45c.02.05.09.09.16.09h1.34c.11 0 .17-.08.17-.17l.02-7.47c0-.09-.08-.17-.19-.17zm-23.7-.01h-2.13c-.09 0-.17.09-.17.2v7.34c0 .2.13.27.3.27h1.92c.2 0 .25-.09.25-.27V6.23c0-.09-.08-.17-.17-.17zm-1.05-3.38c-.77 0-1.38.61-1.38 1.38 0 .77.61 1.38 1.38 1.38.75 0 1.36-.61 1.36-1.38 0-.77-.61-1.38-1.36-1.38zm16.49-.25h-2.11c-.09 0-.17.08-.17.17v4.09h-3.31V2.6c0-.09-.08-.17-.17-.17h-2.13c-.09 0-.17.08-.17.17v11.11c0 .09.09.17.17.17h2.13c.09 0 .17-.08.17-.17V8.96h3.31l-.02 4.75c0 .09.08.17.17.17h2.13c.09 0 .17-.08.17-.17V2.6c0-.09-.08-.17-.17-.17zM8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17z"/></svg>
        </a>
      </div>
      <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4">
        <h4 class="mb-3 text-mono text-gray-light text-normal">Product</h4>
        <ul class="list-style-none text-gray f5">
          <li class="lh-condensed mb-3"><a href="/features" data-ga-click="Footer, go to features, text:features" class="link-gray">Features</a></li>
          <li class="lh-condensed mb-3"><a href="/security" data-ga-click="Footer, go to security, text:security" class="link-gray">Security</a></li>
          <li class="lh-condensed mb-3"><a href="/business" data-ga-click="Footer, go to business, text:business" class="link-gray">Business</a></li>
          <li class="lh-condensed mb-3"><a href="/case-studies?type=customers" data-ga-click="Footer, go to case studies, text:case studies" class="link-gray">Case studies</a></li>
          <li class="lh-condensed mb-3"><a href="/pricing" data-ga-click="Footer, go to pricing, text:pricing" class="link-gray">Pricing</a></li>
          <li class="lh-condensed mb-3"><a href="https://resources.github.com" data-ga-click="Footer, go to resources, text:resources" class="link-gray">Resources</a></li>
        </ul>
      </div>
      <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4">
        <h4 class="mb-3 text-mono text-gray-light text-normal">Platform</h4>
        <ul class="list-style-none f5">
          <li class="lh-condensed mb-3"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api" class="link-gray">Developer API</a></li>
          <li class="lh-condensed mb-3"><a href="http://partner.github.com/" data-ga-click="Footer, go to partner, text:partner" class="link-gray ">Partners</a></li>
          <li class="lh-condensed mb-3"><a href="https://atom.io" data-ga-click="Footer, go to atom, text:atom" class="link-gray ">Atom</a></li>
          <li class="lh-condensed mb-3"><a href="http://electron.atom.io/" data-ga-click="Footer, go to electron, text:electron" class="link-gray ">Electron</a></li>
          <li class="lh-condensed mb-3"><a href="https://desktop.github.com/" data-ga-click="Footer, go to desktop, text:desktop" class="link-gray ">GitHub Desktop</a></li>
        </ul>
      </div>
      <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4">
        <h4 class="mb-3 text-mono text-gray-light text-normal">Support</h4>
        <ul class="list-style-none f5">
          <li class="lh-condensed mb-3"><a data-ga-click="Footer, go to help, text:help" class="link-gray " href="https://help.github.com">Help</a></li>
          <li class="lh-condensed mb-3"><a href="https://github.community" data-ga-click="Footer, go to community, text:community" class="link-gray ">Community Forum</a></li>
          <li class="lh-condensed mb-3"><a href="https://services.github.com/" data-ga-click="Footer, go to training, text:training" class="link-gray ">Training</a></li>
          <li class="lh-condensed mb-3"><a href="https://status.github.com/" data-ga-click="Footer, go to status, text:status" class="link-gray ">Status</a></li>
          <li class="lh-condensed mb-3"><a data-ga-click="Footer, go to contact, text:contact" class="link-gray " href="https://github.com/contact">Contact GitHub</a></li>
        </ul>
      </div>
      <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4">
        <h4 class="mb-3 text-mono text-gray-light text-normal">Company</h4>
        <ul class="list-style-none f5">
          <li class="lh-condensed mb-3"><a data-ga-click="Footer, go to about, text:about" class="link-gray " href="https://github.com/about">About</a></li>
          <li class="lh-condensed mb-3"><a href="https://blog.github.com" data-ga-click="Footer, go to blog, text:blog" class="link-gray ">Blog</a></li>
          <li class="lh-condensed mb-3"><a href="/about/careers" data-ga-click="Footer, go to careers, text:careers" class="link-gray">Careers</a></li>
          <li class="lh-condensed mb-3"><a href="/about/press" data-ga-click="Footer, go to press, text:press" class="link-gray">Press</a></li>
          <li class="lh-condensed mb-3"><a href="https://shop.github.com" data-ga-click="Footer, go to shop, text:shop" class="link-gray">Shop</a></li>
        </ul>
      </div>
    </div>
  </div>
  <div class="bg-gray-light">
    <div class="container-lg p-responsive f6 py-4 d-sm-flex flex-justify-between flex-row-reverse flex-items-center">
      <ul class="list-style-none d-flex flex-items-center mb-3 mb-sm-0 lh-condensed-ultra">
        <li class="mr-3"><a href="https://twitter.com/github" data-ga-click="Footer, go to Twitter, text:twitter" title="GitHub on Twitter" style="color: #959da5;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 273.5 222.3" class="d-block" height="18">
  <g fill="currentColor">
    <path d="M273.5,26.3a109.77,109.77,0,0,1-32.2,8.8A56.07,56.07,0,0,0,266,4.1a113.39,113.39,0,0,1-35.7,13.6,56.1,56.1,0,0,0-97,38.4,54,54,0,0,0,1.5,12.8A159.68,159.68,0,0,1,19.1,10.3,56.12,56.12,0,0,0,36.5,85.2a56.06,56.06,0,0,1-25.4-7v.7a56.11,56.11,0,0,0,45,55,55.65,55.65,0,0,1-14.8,2,62.39,62.39,0,0,1-10.6-1,56.24,56.24,0,0,0,52.4,39,112.87,112.87,0,0,1-69.7,24A119,119,0,0,1,0,197.1a158.83,158.83,0,0,0,86,25.2c103.2,0,159.6-85.5,159.6-159.6,0-2.4-.1-4.9-.2-7.3a114.25,114.25,0,0,0,28.1-29.1"></path>
  </g>
</svg>
</a></li>
        <li class="mr-3"><a href="https://www.facebook.com/GitHub" data-ga-click="Footer, go to Facebook, text:facebook" title="GitHub on Facebook" style="color: #959da5;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.3 15.4" class="d-block" height="18">
  <g fill="currentColor">
    <path d="M14.5,0H.8A.88.88,0,0,0,0,.9V14.5a.88.88,0,0,0,.8.9H8.1v-6h-2V7.1h2V5.4a2.87,2.87,0,0,1,2.5-3.1h.5a10.87,10.87,0,0,1,1.8.1V4.5H11.6c-1,0-1.1.5-1.1,1.1V7.1h2.3l-.3,2.3h-2v5.9h3.9a.88.88,0,0,0,.9-.8h0V.8A.86.86,0,0,0,14.5,0Z"></path>
  </g>
</svg>
</a></li>
        <li class="mr-3"><a href="https://www.youtube.com/github" data-ga-click="Footer, go to YouTube, text:youtube" title="GitHub on YouTube" style="color: #959da5;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.17 13.6" class="d-block" height="16">
  <g fill="currentColor">
    <path d="M18.77,2.13A2.4,2.4,0,0,0,17.09.42C15.59,0,9.58,0,9.58,0a57.55,57.55,0,0,0-7.5.4A2.49,2.49,0,0,0,.39,2.13,26.27,26.27,0,0,0,0,6.8a26.15,26.15,0,0,0,.39,4.67,2.43,2.43,0,0,0,1.69,1.71c1.52.42,7.5.42,7.5.42a57.69,57.69,0,0,0,7.51-.4,2.4,2.4,0,0,0,1.68-1.71,25.63,25.63,0,0,0,.4-4.67A24,24,0,0,0,18.77,2.13ZM7.67,9.71V3.89l5,2.91Z"></path>
  </g>
</svg>
</a></li>
        <li class="mr-3 flex-self-start"><a href="https://www.linkedin.com/company/github" data-ga-click="Footer, go to Linkedin, text:linkedin" title="GitHub on Linkedin" style="color: #959da5;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 18" class="d-block" height="18">
  <g fill="currentColor">
    <path d="M3.94,2A2,2,0,1,1,2,0,2,2,0,0,1,3.94,2ZM4,5.48H0V18H4Zm6.32,0H6.34V18h3.94V11.43c0-3.66,4.77-4,4.77,0V18H19V10.07c0-6.17-7.06-5.94-8.72-2.91Z"></path>
  </g>
</svg>
</a></li>
        <li><a href="https://github.com/github" data-ga-click="Footer, go to github's org, text:github" title="GitHub's organization" style="color: #959da5;"><svg height="20" class="octicon octicon-mark-github d-block" alt="GitHub" viewBox="0 0 16 16" version="1.1" width="20" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg></a></li>
      </ul>
      <ul class="list-style-none d-flex text-gray">
        <li class="mr-3">&copy; 2018 GitHub, Inc.</li>
        <li class="mr-3"><a href="/site/terms" data-ga-click="Footer, go to terms, text:terms" class="link-gray">Terms</a></li>
        <li><a href="/site/privacy" data-ga-click="Footer, go to privacy, text:privacy" class="link-gray">Privacy</a></li>
      </ul>
    </div>
  </div>
</div>




  <div id="ajax-error-message" class="ajax-error-message flash flash-error">
    <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg>
    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
    </button>
    You can’t perform that action at this time.
  </div>


    <script crossorigin="anonymous" integrity="sha512-WnyO4VoIUwWWQOmFLjYf4UGg/c1z9VlaLN8IMuiI3uMhhl6rejyThRdLPDyePeUPW6N+38OoBMs6AkqcvWALtA==" type="application/javascript" src="https://assets-cdn.github.com/assets/compat-b66b5d97b4442a01f057c74b091c4368.js"></script>
    <script crossorigin="anonymous" integrity="sha512-Ax8so2RYXS5IplklIjBUPCs/H8jumancM4AKLTR35EuK3eUxGRyo1EkTBkTQnSUzk5ZQ9pYsHYLJ1ImS2Fcerg==" type="application/javascript" src="https://assets-cdn.github.com/assets/frameworks-755e0c008571c9f249a478f4cda76ecf.js"></script>
    
    <script crossorigin="anonymous" async="async" integrity="sha512-Sj2Mi4s+JFRnELcUX0MvfW4vZFDOvB931nSlmoeHBGtu49O4WiRw8iSXJwAxEhxROt1LHSfnduEfn7VX4D8IGA==" type="application/javascript" src="https://assets-cdn.github.com/assets/github-f4a5e5c438a2ec5567802ead3931f7db.js"></script>
    
    
    
  <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner d-none">
    <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg>
    <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span>
    <spa
100 75709    0 75709    0     0  33114      0 --:--:--  0:00:02 --:--:-- 33104
* Connection #0 to host 192.168.11.200 left intact
n class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span>
  </div>
  <div class="facebox" id="facebox" style="display:none;">
  <div class="facebox-popup">
    <div class="facebox-content" role="dialog" aria-labelledby="facebox-header" aria-describedby="facebox-description">
    </div>
    <button type="button" class="facebox-close js-facebox-close" aria-label="Close modal">
      <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
    </button>
  </div>
</div>

  <template id="site-details-dialog">
  <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark" open>
    <summary aria-haspopup="dialog" aria-label="Close dialog"></summary>
    <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast">
      <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
        <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg>
      </button>
      <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
    </details-dialog>
  </details>
</template>

  <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
  <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;">
  </div>
</div>

<div id="hovercard-aria-description" class="sr-only">
  Press h to open a hovercard with more details.
</div>


  </body>
</html>


  • 1
    点赞
  • 0
    评论
  • 5
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值