如何把别人项目代码修改后 提交到github

转载 2017年06月27日 11:21:08

首先你需要了解基本的 git相关知识

如果你从 github 上clone了别人的代码,本地做了一些修改后,直接提交可能会遇到一些问题,首先需要你输入用户名,接着输入密码,最后返回错误提示信息.


试想一下,如果你可以把 clone 下来的代码随意修改完后,还能随意提交到github服务器,那整个开源生态可能要彻底乱为一团.所以不让你提交就对了.


那如何把 clone 后修改的代码提交到 github 呢?

github上 不是有个fork么, 好,那么给别人的项目提交代码的方式就有了,先fork下别人的代码,于是你的github上就出现了同名的项目,这个项目就属于你自己了,你把这个自己的项目git clone到本地,修修改改,然后push到你自己的项目里,

那么你如何把你对自己项目的改动,给发到之前fork的那个原项目呢,

在github上你的项目页面有个按钮,叫Pull request,对 你点它就会把你的修改发到对方的项目里,人还会收到邮件呢,由原项目主人决定是否接受你的修改

在你fork他的项目之后,如果他又更新了代码,你自己fork的项目怎么做到和原项目同步呢?

解决方法一

github居然可以给项目添加合作者,也就是说,你想参与我的项目,你跟我说一声,我就把你添加到我的项目里作为合作者,这个选项在项目的设置里面有,只要我添加你了,你就可以git clone我的代码然后修修改改,然后直接push上来就行了,就不用fork那么麻烦了,如果你要更新服务器代码,只要git pull就行了,合作者这东西多方便.

解决方法二

你先git clone我的代码到本地,然后修修改改,然后你不是不能push到我的项目里么,你可以先在github页面上fork我的项目,有了你自己的项目地址(url)之后呢,

你在本地操作git remote add [sort name] [your url],意思就是添加第二个远程仓库地址,这个仓库的“昵称”就是你刚指定的[sort name],

你之后push文件呢 就通过指定这个[sort name]来push到这个你自己的仓库里

等你觉得想要把你改的发给原项目同步,就在你的项目上点Pull request按钮.说下另一种情况,

如果是,原项目发生了改动,你要想同步到本地,就直接从git fetch origin 从原项目的地址同步代码,然后再merge就好了

当然,你可以通过新建分支的方式往自己的项目上push,这样同步的时候直接fetch就行了


比如我下载的 oh-my-zsh 项目下面的皮肤模板做了一点点修改,当新版本的需要更新时,我是无法获取到的,因为有一个本地修改没有提交.但是我直接提交又是提交不成功的.所以我先 fork 到自己名下,然后在 oh-my-zsh 所在项目目录下执行 git remote add 别名 我fork后的项目地址 方法来添加一个仓库名


➜  /Users/zhangzhi/.oh-my-zsh git:(master) >git remote add yijiebuyi git@github.com:zzhi191/oh-my-zsh.git
➜  /Users/zhangzhi/.oh-my-zsh git:(master) >gst
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
 (use "git push" to publish your local commits)

nothing to commit, working directory clean
➜  /Users/zhangzhi/.oh-my-zsh git:(master) >gp yijiebuyi
Counting objects: 11, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (7/7), 1.26 KiB | 0 bytes/s, done.
Total 7 (delta 4), reused 0 (delta 0)
To git@github.com:zzhi191/oh-my-zsh.git
  192de6b..48cd332  master -> master
  

我提交的别名叫 yijiebuyi那么我修改的东西直接也提交到 yijiebuyi 这个别名下即可.

最后通过 git fetch origin 来获取最新代码


➜  /Users/zhangzhi/.oh-my-zsh git:(master) >git fetch origin
remote: Counting objects: 14066, done.
remote: Compressing objects: 100% (5285/5285), done.
remote: Total 14066 (delta 8413), reused 13610 (delta 7972), pack-reused 0
Receiving objects: 100% (14066/14066), 2.31 MiB | 213.00 KiB/s, done.
Resolving deltas: 100% (8413/8413), completed with 257 local objects.
From https://github.com/robbyrussell/oh-my-zsh
 192de6b..d3b9520  master     -> origin/master
 

出自:如何把别人项目代码修改后 提交到github

Github上怎么修改别人的项目并且提交给原作者!图文并茂!

Github上怎么修改别人的项目并且提交给原作者!图文并茂! 写这篇博客的初衷,是因为我的项目Only需要一些朋友一起参与进来,但是很多的Git都不是很熟练,其实版本控制这种东西没有什么难度的,只...
  • qq_26787115
  • qq_26787115
  • 2016年08月12日 18:59
  • 12407

github上修改别人的代码并上传

http://doc.okbase.net/azhuzhu/archive/38704.html 我登陆github,要下载xxx的代码,然后搜索: 回车后: 然后点击U...
  • z278718149
  • z278718149
  • 2015年10月20日 17:40
  • 3334

git 修改代码后提交到远端

注意: 第一: ( git clone url ) 第二: 必须跳转到master分支之上进行修改,不是origin/master分支,使用 ( git branch ) 查看分支,使用 ( gi...
  • qimuya
  • qimuya
  • 2015年12月22日 10:31
  • 4297

github提交代码无法改变远程仓库路径

最近几次提交github时,总是提交到Test仓库,就算用命令 git remote add origin git@github.com:MaYingY/JavaCodes.git 改变它的路径也...
  • sunshinegirl168660
  • sunshinegirl168660
  • 2017年06月08日 20:01
  • 501

如何将修改的项目传到github(git)

1、 把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件,如果添加某个文件,加上文件名即可git add . git add ...
  • MarkSenLan
  • MarkSenLan
  • 2017年03月07日 21:52
  • 1741

Github上如何给别人贡献代码(转)

以下内容纯属转载。 本篇博文仅随前篇博文Github简明教程(入门篇),当然我的独立博客也是采用Github搭建,我所介绍的Github正是我搭建博客过程中一点一点学习的过程,如有错误,还请指...
  • wwei25
  • wwei25
  • 2016年12月28日 10:51
  • 628

Github:在eclipse中使用git clone 别人共享在Github的代码和上传到自己的仓库!

最近在学习
  • KEZHENXU
  • KEZHENXU
  • 2014年10月24日 20:26
  • 17335

通过git命令行从github或服务器上克隆、修改和更新项目

项目开发时,为了方便版本管理,许多公司采用git来控制项目版本。简单介绍下: 第一步:在本地新建一个文件夹,作为本地仓库,如“test”。打开git bash,进入到该文件夹目录下,如下图: 第二...
  • lvkelly
  • lvkelly
  • 2017年01月22日 17:20
  • 9989

如何在git上clone别人的项目、提交代码以及更新最新代码

废话不多说,直接上实例。 1.clone项目 例如这是我们正要寻找的开源项目。 首先要做的是fork代码到自己的库,点击右上角的fork按钮,之后这个项目就会在出现在自己的库中。 这时候这个项...
  • baidu_27893705
  • baidu_27893705
  • 2017年11月09日 16:56
  • 952

通过git命令行从github或服务器上克隆、修改和更新项目

目前项目的管理基本上都用上了git,svn现在很少用了,所以我们必须要了解git客户端的使用!第一步:在本地新建一个文件夹,作为本地仓库,如“texzt”,直接打开该文件夹,并单击右键,选择git b...
  • willba
  • willba
  • 2017年06月08日 20:13
  • 935
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何把别人项目代码修改后 提交到github
举报原因:
原因补充:

(最多只允许输入30个字)