Git——GitHub操作

一、本地库和远程库的交互方式
在这里插入图片描述
  ①在本地初始化一个Git的本地库
  ②通过push命令将本地库托管至代码托管中心(如GitHub、码云等)成为远程库
  ③协作开发人员通过clone命令将主管push到托管中心的远程库下载到本地
  ④开发人员在编写好代码后再通过push命令将自己的代码推送至远程库(在此之前该开发人员需要加入团队)
  ⑤团队中的其他人员就可以通过pull命令将远程库的内容拉取至本地

二、GitHub相关操作
 1、初始化本地库:git init
在这里插入图片描述
 2、创建本地文件,并提交至本地库
在这里插入图片描述
 3、创建远程库:远程库的名称无需和本地库一致
  ①登录GitHub,在右上角点击New Repository创建新的仓库
在这里插入图片描述
   如果是首次在GitHub上创建远程仓库则需要进行一次邮箱验证
  ②填写远程仓库创建表单:码云上私有库也是免费的
在这里插入图片描述
  ③点击Create repository之后,仓库就创建好了,这时会给出远程库的地址(有Https和SSH两种类型的地址)和一些操作提示
在这里插入图片描述
 4、在本地创建远程库地址别名:
  a、在GitHub中有仓库列表,点进去即可看到远程库的地址(3中图示),我们需要使用这个地址在本地库做别名映射,以便于以后往远程库推送内容
在这里插入图片描述
  b、使用git remote命令查看地址映射

git remote -v

在这里插入图片描述
  c、使用git remote add 别名 远程库地址命令给远程库添加别名映射

git remote add 别名 远程库地址

在这里插入图片描述
 5、推送文件至远程库:git push 远程库别名 本地库分支名

git push shaolin master

  执行命令后需要输入GitHub的用户名和密码进行验证:
在这里插入图片描述
  推送完成:
在这里插入图片描述
  在远程的github上也可以看到我们推送的文件和内容:
在这里插入图片描述
 6、克隆
  ①创建本地工作目录,无需初始化工作空间,cd到工作目录执行:

git clone 远程库地址

  远程库地址可以使用下图所示的方式复制
在这里插入图片描述
在这里插入图片描述
  ②克隆完成后可以查看到从远程库拉取下来的文件:在这些文件中会有.git这个隐藏文件夹,这也是为什么我们在克隆时不需要在本地执行git init操作的原因,而且别名等也会从远程拉取下来(这个别名和管理员推送的时候设置的别名并不一致,这个别名是GitHub为我们生成的,默认为origin)
在这里插入图片描述
在这里插入图片描述
  克隆的三个效果:
   a、完整的把远程库下载到本地
   b、创建远程库地址别名,但是这个别名和管理员推送时的别名并不一致,而是GitHub为我们设置的,默认为origin
   c、初始化本地库
 7、邀请他人加入团队
  ①在没有将他人加入团队之前他人是无法执行推送操作的(但可以执行本地的添加和提交等操作):在加入团队之前推送会被拒绝
在这里插入图片描述
  ②邀请他人加入团队
   a、在仓库的Settings中添加Collaborators(协作者)
在这里插入图片描述
   b、点击Add collaborator按钮之后将邀请链接复制下来用某种方式发送给被邀请人
在这里插入图片描述
   c、被邀请人登录自己的GitHub账号后访问邀请人发送来的链接点击接受邀请即可:
在这里插入图片描述
  此时被邀请人再向远程库推送就没问题了
  Tip:这里有个小知识点,一旦我们使用Git的bash窗口登录过GitHub,操作系统就会记住GitHub的用户名和密码,下次再推送的时候就会自动登录,而不会让我们登录GitHub账号,这时因为windows操作系统有一个凭据管理器记住了GitHub的账号信息,这时我们可以将操作系统的凭据管理器中记录的账号信息删除用以重新登录其他账号来切换GitHub账号信息,如下图所示:控制面板(大图标)->凭据管理器->windows凭据->普通凭据(凭据列表),删除相应的凭据即可,这时在推送时就会让你重新登录GitHub了
在这里插入图片描述
 8、拉取(pull):pull其实是fetch和merge两个操作的合并
  分步操作:先fetch后merge
   ①使用git fetch命令将远程库内容抓取过来:此时仅仅是读操作,是不会验证身份的

git fetch 远程库别名 远程分支名称

在这里插入图片描述
  此时仅仅是将远程库的内容下载下来,并不会改变本地工作区的文件,即并没有和本地工作区的文件合并。
  可以通过git checkout 远程库别名/分支命令切换到文件拉取的分支,并查看拉取下来的内容:说明拉取下来的内容会存放在本地的别名/分支中
在这里插入图片描述
   ②切换回工作区的分支(要合并的那个分支),执行merge操作:

git merge 远程库别名/远程库分支名

在这里插入图片描述
  合并操作:使用pull

git pull 远程库别名 远程库分支名

在这里插入图片描述
  :在改动的文件不是很多或者说不会产生冲突的时候可以使用pull,在改变的文件很多可能产生冲突的时候最好采用分步操作
 9、协同开发时冲突的解决
  冲突的产生:当多个人向同一个远程库推送内容时,如果这几个人修改的是同一个文件的同一个位置就会产生冲突,这时后推送的人在推送的时候就会产生错误,如下图所示:
在这里插入图片描述
 解决办法:
  ①先将远程库的内容拉取至本地:
在这里插入图片描述
  ②解决冲突:将冲突文件中的特殊字符删除,改成我们需要的样子,然后提交至本地库,再推送至远程库即可
在这里插入图片描述
 冲突解决的要点:
  ①如果不是基于 GitHub 远程库的最新版所做的修改,不能推送,必须先拉取
  ②拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可
 10、跨团队协作
在这里插入图片描述
  ①将项目的地址发送给团队外成员,地址的获取方式如下图所示:
在这里插入图片描述
  ②团队外成员在登录了自己的GitHub账号后访问通过①获取到的地址,然后执行Fork操作:
在这里插入图片描述
  Fork中动画:
在这里插入图片描述
  在Fork成功之后,左上角会出现下图所示的信息:
在这里插入图片描述
  ③Fork成功之后,团队外人员就在远程库中拥有了该项目,接下来就可以使用clone命令将该远程库克隆至本地的工作区,并执行相关的修改、提交、推送等操作:此时仅仅是在团队外人员自己的本地和自己的远程库所做的操作并不会影响被Fork的项目
在这里插入图片描述
在这里插入图片描述
  ④发起Pull Request
在这里插入图片描述
在这里插入图片描述
  发起请求通知:
在这里插入图片描述
  ⑤团队管理员登录GitHub,就可以查看到推送申请:
在这里插入图片描述
  ⑥团队管理员可以点击每一条推送申请进行审核查看,并且可以发送消息给申请人,形成消息对话:
在这里插入图片描述
  ⑦管理员可以合并推送:
在这里插入图片描述
  在合并之前可以先查看提交的内容和修改的内容:审核
在这里插入图片描述
  ⑧填写合并日志之后执行合并操作:此时就会将团队外人员的代码合并至团队的远程库
在这里插入图片描述
  ⑨拉取至本地即可:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值