Fix Issue8657 - adding git and git+ssh as know schemes.
diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py
index b45fef9..07256a2 100644
--- a/Lib/test/test_urlparse.py
+++ b/Lib/test/test_urlparse.py
@@ -103,7 +103,12 @@
              ('svn+ssh', 'svn.zope.org', '/repos/main/ZConfig/trunk/',
               '', '', ''),
              ('svn+ssh', 'svn.zope.org', '/repos/main/ZConfig/trunk/',
-              '', ''))
+              '', '')),
+            ('git+ssh://git@github.com/user/project.git',
+            ('git+ssh', 'git@github.com','/user/project.git',
+             '','',''),
+            ('git+ssh', 'git@github.com','/user/project.git',
+             '', ''))
             ]
         for url, parsed, split in testcases:
             self.checkRoundtrips(url, parsed, split)
diff --git a/Lib/urlparse.py b/Lib/urlparse.py
index 7f3a9a4..65bb9cb 100644
--- a/Lib/urlparse.py
+++ b/Lib/urlparse.py
@@ -38,7 +38,7 @@
 uses_netloc = ['ftp', 'http', 'gopher', 'nntp', 'telnet',
                'imap', 'wais', 'file', 'mms', 'https', 'shttp',
                'snews', 'prospero', 'rtsp', 'rtspu', 'rsync', '',
-               'svn', 'svn+ssh', 'sftp','nfs']
+               'svn', 'svn+ssh', 'sftp','nfs','git', 'git+ssh']
 non_hierarchical = ['gopher', 'hdl', 'mailto', 'news',
                     'telnet', 'wais', 'imap', 'snews', 'sip', 'sips']
 uses_params = ['ftp', 'hdl', 'prospero', 'http', 'imap',