github更新fork的项目

转自http://blog.csdn.net/u013510614/article/details/50837752


github上有个功能叫fork,可以将别人的工程复制到自己账号下。这个功能很方便,但其有一个缺点是:当源项目更新后,你fork的分支并不会一起更新,需要自己手动去更新。

以gitHub用户:lyt-python(组织名或者用户名),fork 项目scrapy(https://github.com/scrapy/scrapy.git)为例子:

1、clone 自己账号里fork的分支

  1. git clone https://github.com/lyt-python/scrapy.git  
  2. cd scrapy  
git clone https://github.com/lyt-python/scrapy.git
cd scrapy
    2、增加远程原始分支到本地(可以用  git remote -v
 命令查看远程分支列表)

  1. $ git remote -v  
  2. origin  https://github.com/lyt-python/scrapy.git (fetch)  
  3. origin  https://github.com/lyt-python/scrapy.git (push)  
$ git remote -v
origin  https://github.com/lyt-python/scrapy.git (fetch)
origin  https://github.com/lyt-python/scrapy.git (push)
如果没有远程原始分支则需要增加:
  1. $ git remote add scrapy https://github.com/scrapy/scrapy.git  
$ git remote add scrapy https://github.com/scrapy/scrapy.git
查看确认远程分支列表:

  1. $ git remote -v  
  2. origin  https://github.com/lyt-python/scrapy.git (fetch)  
  3. origin  https://github.com/lyt-python/scrapy.git (push)  
  4. scrapy  https://github.com/scrapy/scrapy.git (fetch)  
  5. scrapy  https://github.com/scrapy/scrapy.git (push)  
$ git remote -v
origin  https://github.com/lyt-python/scrapy.git (fetch)
origin  https://github.com/lyt-python/scrapy.git (push)
scrapy  https://github.com/scrapy/scrapy.git (fetch)
scrapy  https://github.com/scrapy/scrapy.git (push)

    3、fetch原始源分支的新版本到本地
  1. $ git fetch scrapy  
$ git fetch scrapy
会有如下信息:

  1. remote: Counting objects: 2147, done.  
  2. remote: Compressing objects: 100% (11/11), done.  
  3. remote: Total 2147 (delta 1280), reused 1280 (delta 1280), pack-reused 856  
  4. Receiving objects: 100% (2147/2147), 490.60 KiB | 39.00 KiB/s, done.  
  5. Resolving deltas: 100% (1585/1585), completed with 204 local objects.  
  6. From https://github.com/scrapy/scrapy  
  7.  * [new branch]      0.12       -> scrapy/0.12  
  8.  * [new branch]      0.14       -> scrapy/0.14  
  9.  * [new branch]      0.16       -> scrapy/0.16  
  10.  * [new branch]      0.18       -> scrapy/0.18  
  11.  * [new branch]      0.20       -> scrapy/0.20  
  12.  * [new branch]      0.22       -> scrapy/0.22  
  13.  * [new branch]      0.24       -> scrapy/0.24  
  14.  * [new branch]      1.0        -> scrapy/1.0  
  15.  * [new branch]      1.1        -> scrapy/1.1  
  16.  * [new branch]      asyncio    -> scrapy/asyncio  
  17.  * [new branch]      deprecate-make-requests-from-url -> scrapy/deprecate-make-requests-from-url  
  18.  * [new branch]      disable-toplevel-2 -> scrapy/disable-toplevel-2  
  19.  * [new branch]      feature-1371-download-prios -> scrapy/feature-1371-download-prios  
  20.  * [new branch]      fix-1330   -> scrapy/fix-1330  
  21.  * [new branch]      fix-util-function-to-work-outside-project-dir -> scrapy/fix-util-function-to-work-outside-project-dir  
  22.  * [new branch]      master     -> scrapy/master  
  23.  * [new branch]      no-max-rss -> scrapy/no-max-rss  
  24.  * [new tag]         1.1.0rc3   -> 1.1.0rc3  
  25.  * [new tag]         1.0.4      -> 1.0.4  
  26.  * [new tag]         1.0.5      -> 1.0.5  
  27.  * [new tag]         1.1.0rc1   -> 1.1.0rc1  
  28.  * [new tag]         1.1.0rc2   -> 1.1.0rc2  
  29.  * [new tag]         1.2.0dev2  -> 1.2.0dev2  
remote: Counting objects: 2147, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 2147 (delta 1280), reused 1280 (delta 1280), pack-reused 856
Receiving objects: 100% (2147/2147), 490.60 KiB | 39.00 KiB/s, done.
Resolving deltas: 100% (1585/1585), completed with 204 local objects.
From https://github.com/scrapy/scrapy
 * [new branch]      0.12       -> scrapy/0.12
 * [new branch]      0.14       -> scrapy/0.14
 * [new branch]      0.16       -> scrapy/0.16
 * [new branch]      0.18       -> scrapy/0.18
 * [new branch]      0.20       -> scrapy/0.20
 * [new branch]      0.22       -> scrapy/0.22
 * [new branch]      0.24       -> scrapy/0.24
 * [new branch]      1.0        -> scrapy/1.0
 * [new branch]      1.1        -> scrapy/1.1
 * [new branch]      asyncio    -> scrapy/asyncio
 * [new branch]      deprecate-make-requests-from-url -> scrapy/deprecate-make-requests-from-url
 * [new branch]      disable-toplevel-2 -> scrapy/disable-toplevel-2
 * [new branch]      feature-1371-download-prios -> scrapy/feature-1371-download-prios
 * [new branch]      fix-1330   -> scrapy/fix-1330
 * [new branch]      fix-util-function-to-work-outside-project-dir -> scrapy/fix-util-function-to-work-outside-project-dir
 * [new branch]      master     -> scrapy/master
 * [new branch]      no-max-rss -> scrapy/no-max-rss
 * [new tag]         1.1.0rc3   -> 1.1.0rc3
 * [new tag]         1.0.4      -> 1.0.4
 * [new tag]         1.0.5      -> 1.0.5
 * [new tag]         1.1.0rc1   -> 1.1.0rc1
 * [new tag]         1.1.0rc2   -> 1.1.0rc2
 * [new tag]         1.2.0dev2  -> 1.2.0dev2
    4、合并两个版本的代码
  1. $ git merge scrapy/master  
$ git merge scrapy/master
会有如下信息:

  1. Updating a5db7f8..ebef6d7  
  2. Fast-forward  
  3.  .bumpversion.cfg                                   |   2 +-  
  4.  .travis.yml                                        |   7 +-  
  5.  CODE_OF_CONDUCT.md                                 |  50 ++++  
  6.  README.rst                                         |   6 +  
  7.  conftest.py                                        |   2 +-  
  8.  docs/contributing.rst                              |   4 +-  
  9.  docs/faq.rst                                       |  22 +-  
  10.  docs/intro/install.rst                             |   8 +-  
  11.  docs/intro/overview.rst                            |   6 +-  
  12.  docs/intro/tutorial.rst                            |   8 +-  
  13.  docs/news.rst                                      | 242 ++++++++++++++++-  
  14.  docs/topics/api.rst                                |   2 +-  
  15.  docs/topics/architecture.rst                       |   6 +-  
  16.  docs/topics/autothrottle.rst                       |   2 +  
  17.  docs/topics/broad-crawls.rst                       |   2 +-  
  18.  docs/topics/commands.rst                           |   4 +-  
  19.  docs/topics/djangoitem.rst                         |   2 +-  
  20.  docs/topics/downloader-middleware.rst              |  40 ++-  
  21.  docs/topics/email.rst                              |  11 +-  
  22.  docs/topics/extensions.rst                         |   6 +-  
  23.  docs/topics/feed-exports.rst                       |  15 +-  
  24.  docs/topics/firebug.rst                            |   2 +-  
  25.  docs/topics/item-pipeline.rst                      |   4 +-  
  26.  docs/topics/media-pipeline.rst                     |  14 +-  
  27.  docs/topics/practices.rst                          |   2 +-  
  28.  docs/topics/request-response.rst                   |  53 ++--  
  29.  docs/topics/selectors.rst                          |  10 +-  
  30.  docs/topics/settings.rst                           | 164 ++++++++++--  
  31.  docs/topics/shell.rst                              |  58 ++++-  
  32.  docs/topics/signals.rst                            |   6 +-  
  33.  docs/topics/spider-middleware.rst                  |   7 +-  
  34.  docs/topics/spiders.rst                            |   4 +-  
  35.  docs/topics/stats.rst                              |   8 +-  
  36.  docs/topics/webservice.rst                         |   2 +-  
  37.  docs/versioning.rst                                |   2 +-  
  38.  requirements-py3.txt                               |   2 +-  
  39.  scrapy/VERSION                                     |   2 +-  
  40.  scrapy/_monkeypatches.py                           |   4 +-  
  41.  scrapy/cmdline.py                                  |   9 +-  
  42.  scrapy/commands/__init__.py                        |   2 -  
  43.  scrapy/commands/fetch.py                           |  13 +-  
  44.  scrapy/commands/settings.py                        |   9 +-  
  45.  scrapy/commands/shell.py                           |   7 +-  
  46.  scrapy/core/downloader/__init__.py                 |   2 +-  
  47.  scrapy/core/downloader/contextfactory.py           | 116 +++++++--  
  48.  scrapy/core/downloader/handlers/http10.py          |   5 +-  
  49.  scrapy/core/downloader/handlers/http11.py          | 119 +++++++--  
  50.  scrapy/core/downloader/handlers/s3.py              |  72 ++++--  
  51.  scrapy/core/downloader/tls.py                      |  16 ++  
  52.  scrapy/core/downloader/webclient.py                |  41 ++-  
  53.  scrapy/core/engine.py                              |  23 +-  
  54.  scrapy/core/scheduler.py                           |  13 +-  
  55.  scrapy/crawler.py                                  |  17 +-  
  56.  scrapy/downloadermiddlewares/ajaxcrawl.py          |   2 +-  
  57.  scrapy/downloadermiddlewares/httpcompression.py    |   8 +-  
  58.  scrapy/downloadermiddlewares/httpproxy.py          |  15 +-  
  59.  scrapy/downloadermiddlewares/retry.py              |   2 +-  
  60.  scrapy/downloadermiddlewares/robotstxt.py          |   8 +-  
  61.  scrapy/exporters.py                                |  77 ++++--  
  62.  scrapy/extensions/closespider.py                   |   4 +  
  63.  scrapy/extensions/feedexport.py                    |  37 ++-  
  64.  scrapy/extensions/httpcache.py                     |  69 ++---  
  65.  scrapy/extensions/spiderstate.py                   |   7 +-  
  66.  scrapy/http/cookies.py                             |  22 +-  
  67.  scrapy/http/headers.py                             |  10 +  
  68.  scrapy/http/request/form.py                        |  14 +-  
  69.  scrapy/http/response/text.py                       |   7 +-  
  70.  scrapy/linkextractors/__init__.py                  |   3 +-  
  71.  scrapy/mail.py                                     |   7 +-  
  72.  scrapy/middleware.py                               |   5 +-  
  73.  scrapy/pipelines/files.py                          | 103 ++++++--  
  74.  scrapy/responsetypes.py                            |   3 +-  
  75.  scrapy/selector/unified.py                         |   2 +-  
  76.  scrapy/settings/__init__.py                        |  29 ++-  
  77.  scrapy/settings/default_settings.py                |  11 +-  
  78.  scrapy/spiderloader.py                             |  11 +-  
  79.  scrapy/spiders/sitemap.py                          |   2 +-  
  80.  scrapy/squeues.py                                  |   4 +-  
  81.  scrapy/templates/project/module/settings.py.tmpl   |   3 +  
  82.  scrapy/utils/benchserver.py                        |  12 +-  
  83.  scrapy/utils/boto.py                               |  21 ++  
  84.  scrapy/utils/datatypes.py                          |  25 +-  
  85.  scrapy/utils/gz.py                                 |  28 +-  
  86.  scrapy/utils/iterators.py                          |  28 +-  
  87.  scrapy/utils/misc.py                               |   4 +-  
  88.  scrapy/utils/reactor.py                            |   2 +-  
  89.  scrapy/utils/response.py                           |   4 +-  
  90.  scrapy/utils/test.py                               |  35 ++-  
  91.  scrapy/utils/testsite.py                           |  12 +-  
  92.  scrapy/utils/url.py                                |  34 ++-  
  93.  scrapy/xlib/lsprofcalltree.py                      | 120 ---------  
  94.  scrapy/xlib/pydispatch.py                          |  19 ++  
  95.  setup.cfg                                          |   3 +  
  96.  setup.py                                           |   4 +  
  97.  tests/mockserver.py                                |  89 ++++---  
  98.  tests/py3-ignores.txt                              |  29 ---  
  99.  tests/requirements-py3.txt                         |   2 +  
  100.  tests/spiders.py                                   |   2 +-  
  101.  tests/test_cmdline/__init__.py                     |   2 +-  
  102.  tests/test_command_fetch.py                        |   8 +-  
  103.  tests/test_command_shell.py                        |  40 ++-  
  104.  tests/test_commands.py                             |  71 +++--  
  105.  tests/test_crawl.py                                |   9 +-  
  106.  tests/test_downloader_handlers.py                  | 287 +++++++++++++++------  
  107.  tests/test_downloadermiddleware.py                 |   7 +-  
  108.  tests/test_downloadermiddleware_httpcache.py       |  13 +-  
  109.  tests/test_downloadermiddleware_httpcompression.py |  24 +-  
  110.  tests/test_downloadermiddleware_httpproxy.py       |  23 +-  
  111.  tests/test_downloadermiddleware_retry.py           |   8 +-  
  112.  tests/test_downloadermiddleware_robotstxt.py       |  12 +  
  113.  tests/test_engine.py                               |  14 +-  
  114.  tests/test_exporters.py                            | 206 +++++++++++----  
  115.  tests/test_feedexport.py                           |  63 ++++-  
  116.  tests/test_http_cookies.py                         |   4 +  
  117.  tests/test_http_request.py                         |  20 ++  
  118.  tests/test_http_response.py                        |  32 ++-  
  119.  tests/test_mail.py                                 |  54 +++-  
  120.  tests/test_pipeline_files.py                       |  41 ++-  
  121.  tests/test_pydispatch_deprecated.py                |  12 +  
  122.  tests/test_responsetypes.py                        |  11 +-  
  123.  tests/test_settings/__init__.py                    |  23 +-  
  124.  tests/test_spider.py                               |  12 +  
  125.  tests/test_spidermiddleware_offsite.py             |   9 +-  
  126.  tests/test_spiderstate.py                          |   6 +  
  127.  tests/test_utils_iterators.py                      |  83 +++++-  
  128.  tests/test_utils_url.py                            |  65 ++++-  
  129.  tests/test_webclient.py                            | 182 +++++++------  
  130.  tox.ini                                            |  10 +-  
  131.  128 files changed, 2577 insertions(+), 967 deletions(-)  
  132.  create mode 100644 CODE_OF_CONDUCT.md  
  133.  create mode 100644 scrapy/core/downloader/tls.py  
  134.  create mode 100644 scrapy/utils/boto.py  
  135.  delete mode 100644 scrapy/xlib/lsprofcalltree.py  
  136.  create mode 100644 scrapy/xlib/pydispatch.py  
  137.  create mode 100644 tests/test_pydispatch_deprecated.py  
Updating a5db7f8..ebef6d7
Fast-forward
 .bumpversion.cfg                                   |   2 +-
 .travis.yml                                        |   7 +-
 CODE_OF_CONDUCT.md                                 |  50 ++++
 README.rst                                         |   6 +
 conftest.py                                        |   2 +-
 docs/contributing.rst                              |   4 +-
 docs/faq.rst                                       |  22 +-
 docs/intro/install.rst                             |   8 +-
 docs/intro/overview.rst                            |   6 +-
 docs/intro/tutorial.rst                            |   8 +-
 docs/news.rst                                      | 242 ++++++++++++++++-
 docs/topics/api.rst                                |   2 +-
 docs/topics/architecture.rst                       |   6 +-
 docs/topics/autothrottle.rst                       |   2 +
 docs/topics/broad-crawls.rst                       |   2 +-
 docs/topics/commands.rst                           |   4 +-
 docs/topics/djangoitem.rst                         |   2 +-
 docs/topics/downloader-middleware.rst              |  40 ++-
 docs/topics/email.rst                              |  11 +-
 docs/topics/extensions.rst                         |   6 +-
 docs/topics/feed-exports.rst                       |  15 +-
 docs/topics/firebug.rst                            |   2 +-
 docs/topics/item-pipeline.rst                      |   4 +-
 docs/topics/media-pipeline.rst                     |  14 +-
 docs/topics/practices.rst                          |   2 +-
 docs/topics/request-response.rst                   |  53 ++--
 docs/topics/selectors.rst                          |  10 +-
 docs/topics/settings.rst                           | 164 ++++++++++--
 docs/topics/shell.rst                              |  58 ++++-
 docs/topics/signals.rst                            |   6 +-
 docs/topics/spider-middleware.rst                  |   7 +-
 docs/topics/spiders.rst                            |   4 +-
 docs/topics/stats.rst                              |   8 +-
 docs/topics/webservice.rst                         |   2 +-
 docs/versioning.rst                                |   2 +-
 requirements-py3.txt                               |   2 +-
 scrapy/VERSION                                     |   2 +-
 scrapy/_monkeypatches.py                           |   4 +-
 scrapy/cmdline.py                                  |   9 +-
 scrapy/commands/__init__.py                        |   2 -
 scrapy/commands/fetch.py                           |  13 +-
 scrapy/commands/settings.py                        |   9 +-
 scrapy/commands/shell.py                           |   7 +-
 scrapy/core/downloader/__init__.py                 |   2 +-
 scrapy/core/downloader/contextfactory.py           | 116 +++++++--
 scrapy/core/downloader/handlers/http10.py          |   5 +-
 scrapy/core/downloader/handlers/http11.py          | 119 +++++++--
 scrapy/core/downloader/handlers/s3.py              |  72 ++++--
 scrapy/core/downloader/tls.py                      |  16 ++
 scrapy/core/downloader/webclient.py                |  41 ++-
 scrapy/core/engine.py                              |  23 +-
 scrapy/core/scheduler.py                           |  13 +-
 scrapy/crawler.py                                  |  17 +-
 scrapy/downloadermiddlewares/ajaxcrawl.py          |   2 +-
 scrapy/downloadermiddlewares/httpcompression.py    |   8 +-
 scrapy/downloadermiddlewares/httpproxy.py          |  15 +-
 scrapy/downloadermiddlewares/retry.py              |   2 +-
 scrapy/downloadermiddlewares/robotstxt.py          |   8 +-
 scrapy/exporters.py                                |  77 ++++--
 scrapy/extensions/closespider.py                   |   4 +
 scrapy/extensions/feedexport.py                    |  37 ++-
 scrapy/extensions/httpcache.py                     |  69 ++---
 scrapy/extensions/spiderstate.py                   |   7 +-
 scrapy/http/cookies.py                             |  22 +-
 scrapy/http/headers.py                             |  10 +
 scrapy/http/request/form.py                        |  14 +-
 scrapy/http/response/text.py                       |   7 +-
 scrapy/linkextractors/__init__.py                  |   3 +-
 scrapy/mail.py                                     |   7 +-
 scrapy/middleware.py                               |   5 +-
 scrapy/pipelines/files.py                          | 103 ++++++--
 scrapy/responsetypes.py                            |   3 +-
 scrapy/selector/unified.py                         |   2 +-
 scrapy/settings/__init__.py                        |  29 ++-
 scrapy/settings/default_settings.py                |  11 +-
 scrapy/spiderloader.py                             |  11 +-
 scrapy/spiders/sitemap.py                          |   2 +-
 scrapy/squeues.py                                  |   4 +-
 scrapy/templates/project/module/settings.py.tmpl   |   3 +
 scrapy/utils/benchserver.py                        |  12 +-
 scrapy/utils/boto.py                               |  21 ++
 scrapy/utils/datatypes.py                          |  25 +-
 scrapy/utils/gz.py                                 |  28 +-
 scrapy/utils/iterators.py                          |  28 +-
 scrapy/utils/misc.py                               |   4 +-
 scrapy/utils/reactor.py                            |   2 +-
 scrapy/utils/response.py                           |   4 +-
 scrapy/utils/test.py                               |  35 ++-
 scrapy/utils/testsite.py                           |  12 +-
 scrapy/utils/url.py                                |  34 ++-
 scrapy/xlib/lsprofcalltree.py                      | 120 ---------
 scrapy/xlib/pydispatch.py                          |  19 ++
 setup.cfg                                          |   3 +
 setup.py                                           |   4 +
 tests/mockserver.py                                |  89 ++++---
 tests/py3-ignores.txt                              |  29 ---
 tests/requirements-py3.txt                         |   2 +
 tests/spiders.py                                   |   2 +-
 tests/test_cmdline/__init__.py                     |   2 +-
 tests/test_command_fetch.py                        |   8 +-
 tests/test_command_shell.py                        |  40 ++-
 tests/test_commands.py                             |  71 +++--
 tests/test_crawl.py                                |   9 +-
 tests/test_downloader_handlers.py                  | 287 +++++++++++++++------
 tests/test_downloadermiddleware.py                 |   7 +-
 tests/test_downloadermiddleware_httpcache.py       |  13 +-
 tests/test_downloadermiddleware_httpcompression.py |  24 +-
 tests/test_downloadermiddleware_httpproxy.py       |  23 +-
 tests/test_downloadermiddleware_retry.py           |   8 +-
 tests/test_downloadermiddleware_robotstxt.py       |  12 +
 tests/test_engine.py                               |  14 +-
 tests/test_exporters.py                            | 206 +++++++++++----
 tests/test_feedexport.py                           |  63 ++++-
 tests/test_http_cookies.py                         |   4 +
 tests/test_http_request.py                         |  20 ++
 tests/test_http_response.py                        |  32 ++-
 tests/test_mail.py                                 |  54 +++-
 tests/test_pipeline_files.py                       |  41 ++-
 tests/test_pydispatch_deprecated.py                |  12 +
 tests/test_responsetypes.py                        |  11 +-
 tests/test_settings/__init__.py                    |  23 +-
 tests/test_spider.py                               |  12 +
 tests/test_spidermiddleware_offsite.py             |   9 +-
 tests/test_spiderstate.py                          |   6 +
 tests/test_utils_iterators.py                      |  83 +++++-
 tests/test_utils_url.py                            |  65 ++++-
 tests/test_webclient.py                            | 182 +++++++------
 tox.ini                                            |  10 +-
 128 files changed, 2577 insertions(+), 967 deletions(-)
 create mode 100644 CODE_OF_CONDUCT.md
 create mode 100644 scrapy/core/downloader/tls.py
 create mode 100644 scrapy/utils/boto.py
 delete mode 100644 scrapy/xlib/lsprofcalltree.py
 create mode 100644 scrapy/xlib/pydispatch.py
 create mode 100644 tests/test_pydispatch_deprecated.py
5、把最新的代码提交到github自己(lyt-python)的账号上
  1. $ git push origin master  
$ git push origin master
会有如下信息:

  1. Counting objects: 1802, done.  
  2. Delta compression using up to 24 threads.  
  3. Compressing objects: 100% (558/558), done.  
  4. Writing objects: 100% (1802/1802), 280.30 KiB | 0 bytes/s, done.  
  5. Total 1802 (delta 1395), reused 1644 (delta 1241)  
  6. To https://github.com/lyt-python/scrapy.git  
  7.    a5db7f8..ebef6d7  master -> master  
Counting objects: 1802, done.
Delta compression using up to 24 threads.
Compressing objects: 100% (558/558), done.
Writing objects: 100% (1802/1802), 280.30 KiB | 0 bytes/s, done.
Total 1802 (delta 1395), reused 1644 (delta 1241)
To https://github.com/lyt-python/scrapy.git
   a5db7f8..ebef6d7  master -> master






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值