如何向开源项目贡献代码?Git与Github的配置和使用

如何向开源项目贡献代码?Git与Github的配置和使用

创建ssh key,配置git

  1. 设置username和email

    git config --global user.name "He Zhou"
    git config --global user.email "zhouhegu@gmail.com"
    
  2. 通过终端命令创建ssh key

    ssh-keygen -t rsa -C "zhouhegu@gmail.com"
    

    此步骤需要输入邮箱对应的github账户密码,创建的key默认存储在路径下的/.ssh/id_rsa和/.ssh/id_rsa.pub。
    查看并复制key

    vim .ssh/id_rsa.pub
    
  3. 登陆GitHub账号点击Settings添加ssh key
    在这里插入图片描述

  4. 添加完成后在终端验证能否链接github即可

    ssh -T git@github.com
    

项目仓库管理

  1. fork原始项目到自己的账号下。fork项目https://github.com/vuejs/vue到自己账户的仓库下,可以称之为原始仓库(主仓库)的子仓库。
    在这里插入图片描述
  2. clone克隆fork后的子仓库到本地,指定master分支。
    git clone -b master https://github.com/zhouhegu/vue.git
    
    从GitHub上clone一个repo到本地时,除非你是这个repo到contributor,否则你是不能向向其pull request的,此时,该远程的repo对于本地repo来说就是upstream
    • 从GitHub上fork一个repo后,再clone forked repo到本地,你是可以任意向其pull request的,此时远程的forked repo对于本地repo来说就是origin
    • 如果是upstream repo,你只可以拉取最新代码git fetch,从而保证本地的仓库与源仓库同步。
    • 如果是origin repo,就是你自己forked repo,你可以做任何推拉操作(push and pull)。
    • 你可以通过pull request向upstream repo贡献代码。
  3. 设置upstream
    git remote add upstream https://github.com/vuejs/vue.git
    
    设置成功后可通过git remote -v查看
    git remote -v
    origin	https://github.com/zhouhegu/vue.git (fetch)
    origin	https://github.com/zhouhegu/vue.git (push)
    upstream	https://github.com/vuejs/vue.git (fetch)
    upstream	https://github.com/vuejs/vue.git (push)
    
    之后就可以拉取远程的upstream repo并更新本地master分支
    git fetch upstream
    git checkout master
    git rebase upstream/master
    
  4. 提交修改到本地仓库
    # 添加修改过的文件
    git add 文件名
    # 添加修改的所有文件
    git add -A
    # 提交commit
    git commit -m "修改的描述"
    
  5. 将修改后的代码push到子仓库上
    完成upstream更新同步,并将修改提交到本地仓库后,可以将代码push到子仓库中。
    git push origin master
    
  6. 向主仓库发起pull request

参考资料

向开源项目贡献代码那点事
Github中origin和upstream的区别
使用 git upstream 从其他远程仓库同步分支
Git分支-变基

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值