赞
踩
本节视频:
本节的目标对应日常工作的常态,将应对第一次提交中不会遇到的各种“意外”。这些意外是多人合作中的正常现象,需要掌握其正确的处理方式。
与上一节相比,本节的新内容是从远程仓库拉取(pull)的操作和处理冲突的方法。
git pull
从远程仓库中拉取代码后,本地目录中的代码将与远程仓库一致。
之所以需要拉取环节,是因为在多人开发的条件下,在你开始工作之前,团队其他成员可能更新过文件,文件也可能通过其他途径更新。项目开发需要基于文件最新的状态开展,所以需要拉取(pull)远程服务器中的最新更新。
下面是拉取的示例:
在本地的开发工作实质上就是在编辑文件,按照项目开发的要求完成。需要将阶段性的工作成果经过添加(add)和提交(commit),在本地仓库中记录最新版本。用到的命令有:
git add .
git commit -m 'message'
推送到远程仓库直接用命令:
git push
在通常情况下,提交总是顺利成功(团队成员工作组织良好,在同一段时间内对同一文件修改很少时)。但是,若团队其他成员在你推送之前推送了新版本,冲突就可能发生(仅是修改了同一文件时,分别修改了不同文件不会造成冲突)。发生冲突是正常现象,需要解决冲突(确定文件的唯一版本)后再提交。
下面是发生冲突时的提示:
用下面的命令把远程仓库中的最新版本拉取到本地:
git pull origin master
从上图中可以看到,Git会标识出所有发生冲突的文件。下面是一个发生冲突的文档示例:两个箭头指向同一文档中两个不同来源的修改,需要人工确认,形成最终的版本。
待解决冲突后,再按顺序添加到暂存区、提交到本地仓库、推送至远程仓库。
在处理过程中,可以用下面的命令查看状态和查看文件的差异:
git status
git diff
提示:在向远程仓库推送时,可以“人为制造”出冲突来。例如,在pull文件后,在网页端修改某一个文件,并在本地也修改同一文件——这样必然出现冲突,从而创造出体验冲突的机会。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。