git fork
1、fork项目
在github页面上, 点击fork按钮, 将B的项目拷贝一份到A自己的代码仓库中.
2、clone项目,并添加远程项目路径
克隆A自己的代码仓库到本地.
$ git clone https://github.com/A/A.git
将B的项目作为最新代码的参考标准(upstream 是上游仓库的别名,别名随意命名)
$ git remote add upstream https://github.com/B/B.git
使用git remote 查看,可以看到有upstream(B) 和 origin(A)
3、每次更新代码前,拉取B最新的代码,合并到A自己的repo中
$ git pull upstream
$ git push origin
4、在本地更改、提交代码(增删查等操作)
$ git add .
$ git commit -m "提交代码的注释信息"
5、将代码推送到A的github仓库.
$ git push -u origin master
6、在A的github仓库页面上,点击pull request向B发起PR请求.
git pull/push
1、git pull
从远程获取代码并合并本地的版本
git pull <远程主机名> <远程分支名>:<本地分支名>
pull=fetch+merge
$ git pull upstream
或者
$ git fetch upstream
$ git merge upstream
2、git push
提交代码到远程项目中
git push <远程主机名> <本地分支名>:<远程分支名>
将本地的 master 分支推送到 origin 主机的 master 分支。
$ git push origin master 等价于 $ git push origin master:master
$ git push origin #将当前分支推送到origin主机的对应分支。
$ git push #如果当前分支只有一个追踪分支,那么主机名都可以省略。不带任何参数的git push,默认只推送当前分支
$ git push -u origin master #如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push
3、分支的使用
$ git branch 查看一下当前分支
$ git branch xx 新建一个xx分支,但是不会切换到上面去
$ git checkout xxxx 切换到xxxx分支上面
$ git checkout -b xxx 表示创建并切换到xxx分支上面
$ git merge xx 合并xx分支到当前的分支上面
$ git branch -d xxx 删除xxx分支