【Git\GitHub\GitLab学习笔记】版本控制 Git 视频教程全集(62P)| 6 小时从入门到精通(P27-P41)

目录

  1. P27-Git基本原理-Hash算法简介
  2. P28-GIt版本数据管理机制
  3. P33-为了测试远程交互初始化本地库
  4. P34-创建远程仓库
  5. P35-在本地创建远程库地址别名
  6. P40-协同开发时冲突的解决
  7. P41-跨团队协作操作演示

P27-Git基本原理-Hash算法简介

在这里插入图片描述
在这里插入图片描述

P28-Git版本数据管理机制

SVN:是增量式版本控制工具。
保存增量,需要时进行拼接得到最终文件。
在这里插入图片描述
Git:基于快照的思想,对于没有改动的文件,用指针指向上次保存的文件
在这里插入图片描述

Git文件管理机制细节

Git的提交对象

P33-为了测试远程交互初始化本地库

mkdir huashan	#创建华山文件夹
cd huashan		#进入华山文件夹
git init		#初始化
vi huashanjianfa.txt

在这里插入图片描述

git add huashanjianfa.txt
git commit -m "test github" huashanjianfa.txt
#至此,本地库这边准备就绪

在这里插入图片描述

P34-创建远程仓库

github:http://github.com/
在这里插入图片描述
点击create respository创建远程仓库,创建完成之后跳出下面的信息。
在这里插入图片描述

P35-在本地创建远程库地址别名

git remote -v #查看地址别名
git remote add origin[origin是地址别名] addr

在这里插入图片描述

P36-推送操作

把本地仓库内容推送到远程仓库

git push [连接别名/连接本身] [分支名]
git push origin master

首先跳出这个页面,输入你的github账号密码,即可,没有github账号的,使用github官网进行注册。P33-34
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
刷新刚刚建立的远程仓库连接就能看到我们刚刚push的内容huashanjianfa.txt
在这里插入图片描述

P37-克隆操作

在这里插入图片描述
克隆:

  • 命令:git clone [要克隆的远程库链接/地址]
git clone https://github.com/atguigu2018ybuq/huashan.git
cd huashan

在这里插入图片描述
在这里插入图片描述

P38-邀请令狐冲加入团队成员

令狐冲修改了huashanjianfa.txt 并将该文件提交到本地库,企图进一步将其push到远程仓库,但是失败了,提示错误信息,因为仓库所有者还没有邀请令狐冲加入该团队。
仓库所有者向令狐冲发出加入团队邀请,且令狐冲同意之后,即可进行push操作,否则只能clone。

vi huashanjianfa.txt
git add huashanjianfa.txt
git commit -m "test push" huashanjianfa.txt
git push origin master

在这里插入图片描述
如何进行邀请协作者?
1、仓库所有者进入github对应的仓库界面,点击settings,如下图所示
在这里插入图片描述
2、点击collaborators,在输入框内输入对方的GitHub账号,选中该用户,点击add collaborator
在这里插入图片描述
3、复制邀请链接发送给对方
在这里插入图片描述
4、对方登录GitHub账号,点击你的协作邀请链接,点击加入即可。
在这里插入图片描述
5、令狐冲成为团队成员
6、令狐冲可以成功进行push
在这里插入图片描述
【注意】在同一台机器上进行两个账号切换测试的时候,需要去控制面板的凭据管理器删除之前记住的密码。
在这里插入图片描述

P39-远程库修改的拉取

  • pull = fetch + merge
  • git fetch [远程库地址别名] [远程库分支名]

fetch 只是将远程的内容下载到本地,但没有修改远程的内容

  • git merge[远程库地址别名/远程库分支名]
    【fetch+merge】
git fetch origin master
cat huashanjianfa.txt #读取的还是本地的huashanjianfa.txt文件,而不是fetch下来的文件
git checkout origin/master #切换到该目录下 查看远程仓库fetch下来的huashanjianfa.txt文件
cat huashanjianfa.txt 	#这次检查的fetch下来的远程仓库的最新内容,检擦没有问题之后再与本地的文件进行合并操作
git checkout master		#切换回本地仓库
git merge orgin/master	#将刚刚fetch下来的内容进行合并

在这里插入图片描述
在这里插入图片描述
这里将fetch和merge分开操作,有什么好处呢?
当操作比较复杂的时候,可以暂时不对本地的文件进行合并操作,可以先使用fetch将远程库的文件下载下来之后,确保无误,再将远程库的文件和本地文件进行合并。
在这里插入图片描述
下面演示pull操作
在这里插入图片描述
在这里插入图片描述

P40-协同开发时冲突的解决

团队协作的时候很容易会出现冲突,两个人都修改同一个文件同一个位置,一个人先push到远程仓库的时候,另一个人push就会提示冲突,push失败,这个时候需要先把代码下下来,看看冲突所在,解决冲突。
岳不群修改文件,并push到远程库。

vi huashanjianfa.txt
git commit -m "edit by ybuq" huanshanjianfa.txt
git push origin master

在这里插入图片描述
在这里插入图片描述
与此同时,令狐冲也对该文件进行了修改

vi huashanjianfa.txt
git commit -m "test conflit" huashanjianfa.txt
git push origin master #发生冲突

在这里插入图片描述
令狐冲修改的文件版本已经比远程库落后一个版本了,是在旧版本的基础上进行的修改,但是他不知道这个事情,当他把修改的文件push到远程仓库的时候失败。
在这里插入图片描述
要重新拉取最新的数据:

git pull origin master

在这里插入图片描述
下面就是解决冲突,删除特殊符号,将冲突内容改成需要的样子,(之前该系列的博客中介绍过这个内容)

git add huashanjianfa.txt
git commit -m "resolve confict" #注意这个时候对于解决冲突的提交 是不加文件名的提交
git status #查看状态
git push origin master	#推送到远程仓库

在这里插入图片描述
在这里插入图片描述

解决冲突

要点:

  • 如果不是基于GitHub远程库的最新版所做的修改,不能推送,必须先拉取。
  • 拉取下来之后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。

P41-跨团队协作操作演示-Fork-pull request

岳不群让令狐冲开发葵花宝典,但是令狐冲不会就找东方不败帮忙,但是东方不败是日月神教科技集团CEO,不能跳槽到华山,于是令狐冲让其fork华山的项目到本地,之后就可以在本地进行改动,完成之后再pull request,老大岳不群审核之后,审核通过就可以merge。

#fork
git clone [东方不败fork之后的项目链接] #将该项目克隆到本地
ls -lA #展示当前目录下的所有文件
cd huashan
ls -lA
vi huashanjianfa.txt
git commit -m "kuihua" huashanjianfa.txt
git push origin master
#到东方不败的GitHub上面查看文件是否更新
#下面进行pull request 操作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
东方不败的工作至此已经完成,接下来岳不群进行操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击之后,进入下面的页面
在这里插入图片描述
两人可以再次页面交谈
在这里插入图片描述
对文件进行审核通过之后,回到对话框,下面有个Merge pull request 按钮
在这里插入图片描述
在这里插入图片描述
点击之后,填写信息,相当于日志信息
在这里插入图片描述
将远程库的修改拉取到本地,至此,远程协作功能到此结束
在这里插入图片描述
使用http方式每次登录都需要输入用户名和密码,ssh免密登录省去了很多麻烦。

P42-SSH 免密登录

见下一篇博客

猜你喜欢

转载自blog.csdn.net/kz_java/article/details/114603929
今日推荐