背景
A同学做了一个项目,B同学需要添加测试代码,但是A不想让B直接操作自己代码。所以B同学fork了A的github仓库,克隆到本地添加,问题来了B怎么使本地仓库和远程库一致。
操作
-
fork A同学的项目,在A同学github仓库页面点击fork
-
克隆到本地,B同学把fork的库克隆带本地
git clone git@github:B/project
-
添加新的远程仓库地址
git remote -v //查看远程库 git remote add fork git@github:A/project //添加A的库为远程库,命名为fork git remote -v //再查看远程库 origin //B同学的远程库 fork //A同学的远程库 git add xxx //上传到B的仓库 git commit -m "update" git push //然后提个pull request
-
使用本地库和A的库更新一致
git fetch fork/master//获取A的master代码,如果失败使用git pull fork/master git merge fork/master //将获取代码和本地同步,适用于跨分支,比如远程master到branch上
-
将本地和B同学仓库同步
git push origin
-
如果本地做了修改,但是又想和A同学同步
git stash //先把自己修改保存, git stash pop //执行完第四步,然后恢复自己的修改
-
不使用merge方法更新
git reset --hard fork/master //把head指针指向刚刚下载的最新代码