Getting started with Git development

这一节和下面详细描述如何设置git使用NumPy源代码。如果您已设置git,请跳至Development workflow

Basic Git setup

  • Install git

  • 介绍自己Git:

    git config --global user.email you@yourdomain.example.com
    git config --global user.name "Your Name Comes Here"
    

Making your own copy (fork) of NumPy

你只需要这样做一次。这里的说明与http://help.github.com/forking/上的说明非常相似 - 请参阅该页面了解详情。我们在这里重复一些,只是给出NumPy项目的细节,并建议一些默认名称。

Set up and configure a github account

如果您没有github帐户,请转到github页面,然后创建一个。

您需要配置您的帐户以允许写访问 - 有关帮助中的生成 SSH github help

Create your own forked copy of NumPy

  1. 登入您的github帐户。

  2. 转到NumPy github主页NumPy github

  3. 点击fork按钮:

    ../../_images/forking_button.png

    经过短暂的停顿后,你应该发现自己在主页上为你自己的分支副本NumPy

Set up your fork

首先,按照Making your own copy (fork) of NumPy的自己的副本(fork)的说明。

Overview

git clone https://github.com/your-user-name/numpy.git
cd numpy
git remote add upstream git://github.com/numpy/numpy.git

In detail

Clone your fork

  1. 使用git 克隆 克隆您的分叉到本地计算机https://github.com/your-user-name/numpy.git t3 >

  2. 调查。将目录更改为您的新仓库:cd numpy然后git 分支 -a你会得到像:

    * master
    remotes/origin/master
    

    这告诉你你目前在master分支,并且你还有一个remote连接到origin/master什么远程存储库是remote/origin尝试git remote -v可查看远程的URL。他们会指向您的github分支。

    现在你想连接到上游NumPy github存储库,所以你可以合并中转的变化。

Linking your repository to the upstream repo

cd numpy
git remote add upstream git://github.com/numpy/numpy.git

upstream这里只是我们用来指代NumPy github上的主要NumPy资源库的任意名称。

请注意,我们使用git://作为网址,而不是使用https://git://网址是唯读的。这意味着我们不能意外(或故意)写入上游repo,我们只会使用它来合并到我们自己的代码。

为了你自己的满意,告诉自己你现在有一个新的“远程”,git 远程 -v 显示,给你像:

upstream     git://github.com/numpy/numpy.git (fetch)
upstream     git://github.com/numpy/numpy.git (push)
origin       https://github.com/your-user-name/numpy.git (fetch)
origin       https://github.com/your-user-name/numpy.git (push)

为了与NumPy中的更改保持同步,您需要设置存储库,使其默认从upstream拉出。这可以通过:

git config branch.master.remote upstream
git config branch.master.merge refs/heads/master

你也可能想要容易地访问发送到NumPy仓库的所有pull请求:

git config --add remote.upstream.fetch '+refs/pull//head:refs/remotes/upstream/pr/'

您的配置文件现在应该像(从$ cat .git / config):

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
        precomposeunicode = false
[remote "origin"]
        url = https://github.com/your-user-name/numpy.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[remote "upstream"]
        url = git://github.com/numpy/numpy.git
        fetch = +refs/heads/*:refs/remotes/upstream/*
        fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
[branch "master"]
        remote = upstream
        merge = refs/heads/master