使用场景
当自己没有主仓库的push权限时,则需要fork到自己的远程仓库,修改完成再提merge request到主仓库。
具体流程
- 从主仓库fork到自己的远程仓库
- 将主仓库pull到本地仓库,默认远程主仓库用origin表示
- 添加自己的远程仓库到本地仓库。
git remote add #{name} #{my_remote_repo}
。其中#{name}表示自己的远程仓库的代号,比如my-origin。而#{my_remote_repo}表示自己的远程仓库的地址。 - 每次需要对代码进行修改时,先切换到origin的master分支,拉取origin最新的代码。
git checkout origin/master; git pull origin master
- 然后切换到一个新分支,比如
git checkout -b dev-xxx
,在这个分支上开发。 - 开发完成之后,再次切换回origin的master分支:
git checkout origin/master
,拉取origin最新的代码:git pull origin master
- 接着切换到步骤5创建的分支,即正在开发的分支,执行变基命令。
git rebase master
。这样可以把master其他人的提交合并到正在开发的分支。 - 解决冲突
- 然后push到自己的远程仓库。
git push my-origin 仓库名
- 最后在页面上对这个新分支提merge request到主仓库