克隆远程库
经理也要同时参与 mengxuegu 项目的开发,就需要把远程库中克隆下来。
经理先创建一个本地放目录
cd ..
mkdir mengxuegu_jl
cd mengxuegu_jl
克隆命令
git clone 远程地址
演示
git clone https://gitee.com/mxg6666/mengxuegu.git
克隆效果
- 完整的把远程库下载到本地
- 创建远程仓库地址别名 origin
- 初始化本地库
修改克隆文件再提交
经理修改 demo1.txt 文件提交本地库
vim demo1.txt
git add demo1.txt
git commit -m "gl commit" demo1.txt
先把本地缓存的git账号清除掉,不然会以原来登录的账户提交(总监),而不是经理账号
进入控制面板:按 ctrl+r 打开运行窗口,输入control,找到凭据管理器
找到gitee.com,展开,然后删除
经理再将本地库提到远程库,但是没有权限提交
git push origin master
添加项目成员
接受邀请后,再提交就可以
pull 拉取操作
pull 拉取操作其实是两步:
pull = fetch + merge
fetch 操作: 只把远程库中的内容下载到本地,但是没有改本地工作区的文件。
git fetch 远程库地址别名 远程分支名
演示:
merge操作:把远程代码合并到本地代码中
git merge 远程库地址别名/远程分支名
演示:
git merge origin/master
pull 操作:针对没有冲突的情况 ,不分为上面两个步骤,可以直接使用 pull 提取操作,
git pull 远程库地址别名 远程库分支名
演示
解决冲突
什么情况有冲突 ?
在企业中团队协作开发时,当多个人同时修改同一个文件,同一行代码时,就会产生冲突 。
只有先推送的那个人才可以正常推送,后面那个人与它出现冲突的代码,是没有办法推送的,
必须先拉取下来,然后自已手动解决冲突后才可进行推送。
总监 修改第2行的内容, 然后提交到远程库
经理 不知道 总监 修改了文件,所以没有拉取,直接修改了自已本地库的第2行的内容,
然后直接提交到远程库,发现提交报错,
解决冲突:
上面有冲突时,需要先 git pull 拉取远程代码,然后 vim 查看修改文件,再手动解决冲突,保留需要的
git pull origin master
vim demo1.txt
添加到本地库和远程库