步骤(此处用的是Alibaba/fastjson):
1.将开源项目fork到自己账号下的仓库中;
2.将自己仓库中fork的项目clone到本地;
3.clone
需要将远程仓库clone到本地,此处省略安装本地github的过程,随便在哪个目录(项目存放的目录),右键打开一个Git base,执行一下git clone https://github.com/***/***.git
4.上面的命令完成后,当前目录下会多一个目录,我clone的是fastjson,所以会多一个fastjson目录,进到fastjson目录中,试试跑一下git status
试试,会提示现在是master分支。
5.用git remote -v
命令,可以看到此时只与自己的远程仓库建立了连接
6.还需要与上游建立连接,这里上游指的是一开始fork的那个项目源,以flink为例,执行如下命令:
git remote add upstream https://github.com/apache/flink.git
再用git remote -v
可以看到.
此处我自己的仓库的代码是很久以前fork的,所以提交落后源代码alibaba/master很多;一些步骤使自己仓库分支与alibaba/master
代码保持一致
7.先fetch : git fetch upstream
8.再rebase :git rebase upstream/master
9.最后再push master
push完后,远程仓库便可看到你的branch版本和master分支一致了,否则这个位置会显示与master相差了多少次commit
命令操作步骤:
leitao@PC-201806121810 MINGW64 /f/WorkSpace/fastjson (master)
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
leitao@PC-201806121810 MINGW64 /f/WorkSpace/fastjson (master)
$ git remote -v
origin https://github.com/canglang1973/fastjson.git (fetch)
origin https://github.com/canglang1973/fastjson.git (push)
leitao@PC-201806121810 MINGW64 /f/WorkSpace/fastjson (master)
$ git remote add upstream https://github.com/alibaba/fastjson.git
leitao@PC-201806121810 MINGW64 /f/WorkSpace/fastjson (master)
$ git remote -v
origin https://github.com/canglang1973/fastjson.git (fetch)
origin https://github.com/canglang1973/fastjson.git (push)
upstream https://github.com/alibaba/fastjson.git (fetch)
upstream https://github.com/alibaba/fastjson.git (push)
leitao@PC-201806121810 MINGW64 /f/WorkSpace/fastjson (master)
$ git fetch upstream
remote: Counting objects: 3944, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 3944 (delta 1655), reused 1673 (delta 1655), pack-reused 2271
Receiving objects: 100% (3944/3944), 681.27 KiB | 21.00 KiB/s, done.
Resolving deltas: 100% (1903/1903), completed with 285 local objects.
From https://github.com/alibaba/fastjson
* [new branch] 1.1.33-android -> upstream/1.1.33-android
* [new branch] 1.1.42_android -> upstream/1.1.42_android
* [new branch] 1.1.43-android -> upstream/1.1.43-android
* [new branch] 1.1.44 -> upstream/1.1.44
* [new branch] 1.1.44-android -> upstream/1.1.44-android
* [new branch] 1.1.45 -> upstream/1.1.45
* [new branch] 1.1.45-android -> upstream