github相关

来源:互联网 发布:nginx fastcgi_cache 编辑:程序博客网 时间:2024/05/15 03:33

下面的工作流程是在两个用户(原始代码库拥有者,和fork代码库拥有者)之间的fork-pull方式:

  1. 进入你想贡献修改的GitHub代码库,单击“Fork”按​​钮来创建自己的Github帐户上的代码库克隆:


  2. 这将在自己的帐户上创建一个该代码库的复制:


  3. 选择 SSH URL,那样它会自动使用你自己的SSH密钥,而不用每次在git pull或者push时询问你的用户名和密码。下一步,我们将克隆一份代码库到本地计算机:

    $ git clone [ssh-url] [folder-name]$ cd [folder-name]
  4. 一般情况下,每一个新的功能,我们将创建一个新的Git分支。这是一个很好的做法,因为在未来,如果经过一番讨论后我们需要进一步更新分支,Pull请求将被自动更新。让我们创建一个新的分支做一个非常简单的变化修改的readme.md文件:

    $ git checkout -b [new-feature]
  5. 在为这个新功能增加文件后,我们只需要将修改提交到这个新分支上,然后切换回master分支:

    $ git add .$ git commit -m "information added in readme"$ git checkout master
  6. 在这里,我们需要将新分支推送到远程代码仓库里。首先,我们需要检查这个新功能的分支名称以及其在远程仓库的别名,然后我们用git push [git-remote-alias] [branch-name]推送这个变更。

    $ git branch* masterreadme$ git remote -vorigin  git@github.com:[forked-repo-owner-username]/[repo-name].git (fetch)origin  git@github.com:[forked-repo-owner-username]/[repo-name].git (push)$ git push origin readme
  7. 进入我们fork的代码库的GitHub页面,选择为这个新功能建立的分支,然后点击Pull Request按钮:


  8. 提交Pull请求后,页面将直接跳转到原始库的Pull请求页面,我们将看到我们提交的Pull请求,作为一个新的问题,以及作为一个新的pull请求。


  9. 在经过讨论后,fork的代码库的作者可能想为这个新功能增加一些新的改动。在这种场景下,我们需要在本地计算机上checkout这个同样的分支,修改,提交,并推送回GitHub。当我们再次访问原代码库的pull请求页面的时候,会发现上次提交的Pull请求已经自动更新了。

  10. 合并一个Pull请求

  11. 如果你是原始代码库的所有者,你将有两种方式来合并收到的Pull请求。

    1. 直接在GitHub上合并:如果我们想直接在GitHub上进行合并,必须确保没有冲突。原始库的所有者可以通过简单地点击Merge Pull Request按钮来进行合并:


    2. 在本地计算机上进行合并:另外一种情况,合并的时候可能会遇到冲突,点击上部的Info图标,GitHub有非常清晰的指导,怎么从贡献者的分支上下拉代码变更到本地,合并并解决冲突。



    添加和提交

    你可以提出更改(把它们添加到暂存区),使用如下命令:
    git add <filename>
    git add *
    这是 git 基本工作流程的第一步;使用如下命令以实际提交改动:
    git commit -m "代码提交信息"
    现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。

    推送改动

    你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库:
    git push origin master
    可以把 master 换成你想要推送的任何分支。 

    如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:
    git remote add origin <server>
    如此你就能够将你的改动推送到所添加的服务器上去了。


1 0
原创粉丝点击