标签(空格分隔): GIT
流程一:如何拉取别人项目并且pull request
1、fork到自己账号下
首先找到你的共同开发的主项目,然后点击fork,例如下面的图片展示。
![](http://upload-images.jianshu.io/upload_images/1316820-d84e86b66dc5bcf9.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
点击上图红色圈的按钮,就会把项目fork到自己的账号下,这个时候就会有一个你本地同名的项目形如XXX/MyHearts的,这个时候你可以复制这个地址url。
![](http://upload-images.jianshu.io/upload_images/1316820-3f59c91ef11edcd8.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
2、clone自己的到本地
通过第一步,你已经获取到了这个url,这个时候,(假设本地没有项目,而是你第一次拉取),那么在mac上可以执行如下命令(保证你已经cd到了你本地某个正确路径下)
git clone url(第一步获取的url)
![](http://upload-images.jianshu.io/upload_images/1316820-52318a9953b6213d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
这个时候,如果执行成功的话,本地会有该项目的所有的文件(git上存在的)
3、本地pull作者的,解决冲突
当然,你这个时候如果直接pull作者的,是不会有冲突的(除非作者有了更新)
![](http://upload-images.jianshu.io/upload_images/1316820-27e9000c21e953e7.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
git pull 作者项目地址
如果有冲突,就解决冲突,可以去开发工具中解决(<<<<<<<),类似这样的,其实也就是一般的,代码合并。
4、push到自己的仓库
首先模拟增加内容
![](http://upload-images.jianshu.io/upload_images/1316820-f613a97cb1c04822.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/650)
冲突解决完后,就可以执行以下命令
![](http://upload-images.jianshu.io/upload_images/1316820-e94216d8e43bbd5c.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
git add . //这个是添加全部到本地服务器(当然你也可以自己指定需要添加的文件)
git commit -m "说明本次提交的情况"
git push origin master (把本地的本次提交推送到远程(你的远程))
5、在网页端发起pull request
![](http://upload-images.jianshu.io/upload_images/1316820-f1b60dea2f5ae790.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
点击上图中的New pull request,进入到下面界面
![](http://upload-images.jianshu.io/upload_images/1316820-68741aeda5f423a3.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
![](http://upload-images.jianshu.io/upload_images/1316820-abd1aa51dc888558.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
这个时候进入到作者项目中(网页端)就可以看到了。
![](http://upload-images.jianshu.io/upload_images/1316820-c20a34128bd73c10.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/700)
提示
如果是win平台,那么如果你已经安装了git ,那么git bash这个也会支持以上的各种命令的(不信你可以试试,别告诉我win上不能用命令行操作)
</div>
</div>