前言
GitHub操作是远程存储和本地存储之间的交互,整个交互流程如下1-5所示。
【1】github注册和登录
github的官网https://github.com/
按要求注册即可:
【2】项目经理创建远程库
创建远程库,在本地创建远程库地址的别名
(1)创建一个远程库,私有的,只有自己能看
私有库,别人没法加入团队一起编辑,所以最好是public,这里我们先按私有的设置,等之后再设置回公共的。
(2)主页查看仓库:
(3)复制库的地址:
(4)别名代替库的地址
远程库的地址比较长,每次复制比较麻烦
https://github.com/bigoted067/GitResp2.git
通过别名,在Git本地将地址保存
查看别名:
起别名-origin
再次查看别名:
【3】项目经理推送到远程库
推送操作
将本地的master分支的内容推送到远程库
命令:
git push [远程库地址/别名】 【分支名字】
跳转出界面,需要授权:
授权后,推送成功
【4】其他人克隆到本地
克隆操作
命令:git clone [远程库地址]
复制远程库的克隆地址
在自己新建的文件夹内,克隆进来
克隆操作可以帮我们完成三件事:
(1)初始化本地库
(2)将远程库内容完整的克隆到本地
(3)替我们创建远程库的别名
【5】其他人push到远程库
邀请加入团队,push操作
(1)更新本地库信息
(2)push内容到远程库
发现可以直接push进去,并没有让我录入账号密码,或者也没有提供错误-------------------》结果很诡异。
原因:git使用的时候在本地有缓存(使用的同一台电脑):
将缓存删除:
再次创建个文件并且push到远程库,发现需要验证
登录之后发现提示错误
原因是这个GitResp2是私人的。
修改为公共库后,再次git push origin master
提示错误:
必须要加入团队:
登录项目经理的账号,邀请普通成员:
邀请后,复制邀请链接
登录程序员的账号,在浏览器地址栏录入邀请链接,回车:
跳转后,点击确定邀请
继续push
然后项目经理登录后查看:
【6】项目经理pull操作
远程库修改的拉取操作
(1)项目经理先确定远程库内容是否更新了
(2)项目经理进行拉取
回到项目经理的文件夹
1.先是抓取操作:fetch
【1】 在抓取操作之后,知识将远程库得内容下载到本地,但是工作区中得文件并没有更新。
【2】抓取后可以去远程库看看内容是否正确
看看文件列表
看看每个文件内得内容
2.进行合并:merge
合并之前要将分支切换回本地库master
进行合并
3远程库得拉取也可以直接用pull命令进行
git pull [远程库地址或别名】 【要拉取得分支】
只是,这么做就不能在中间查看文件,及时修改了
fetch + merge 操作-----------》为了保险起见
pull操作-------------------------》代码简单时图省事
【7】协同开发合作时冲突得解决办法
(1)项目经理创建个test.txt文件,并且push到远程库
(2)程序员拉取到本地
到现在为止,现在远程合作没有任何问题
(3)程序员推送了新的内容
程序员往test内添加东西,并且添加提交,推送到远程库
(4)产品经理也推送新的内容
记得在凭据管理器中删除凭据
添加并提交到本地库
推送到远程库,出现冲突,因为在文件得同一个地方,程序员已经修改了内容。
解决办法:
在冲突得情况下,先应该拉取下来,然后修改冲突,再推送到服务器:
注意,现在处于合并状态
可以跟公司内部员工商量,该删得删,该留得留,修改到满意为止。
然后添加并 冲突解决后得结果