Java学习笔记--Git入门2

Git基本原理

  • 哈希
    Git底层使用的是SHA-1算法
    ①不管输入数据的数据量多大,输入同一个哈希算法,得到的加密结果长度固定
    ②哈希算法固定,输入数据确定,输出数据能够保证不变
    ③哈希算法确定,输入数据变化,输出数据一定有变化,而且通常变化很大

Git远程库操作

①在https://github.com/上注册一个github账号,新建一个仓库,仓库地址如下:
Java学习笔记--Git入门2_第1张图片
②在本地创建一个新的目录hua,在其中创建一个hua.txt文件,将文件提交到本地库Java学习笔记--Git入门2_第2张图片
③每次都使用http网址操作,非常不方便,因此在git中给远程仓库地址设置一个别名
在这里插入图片描述
在这里插入图片描述
然后就可以使用git push <远程库别名> <分支名>命令推送到远程库了,输入命令后,需要登录github账号,如下:
Java学习笔记--Git入门2_第3张图片
Java学习笔记--Git入门2_第4张图片
在github上查看远程库,可以看到内容已经成功上传
Java学习笔记--Git入门2_第5张图片
③团队中其他成员协同开发项目时,需要将远程库克隆
这里新建一个hua_user2的目录,表示同团队的另一个成员,进入成员hua_user2的目录,执行git clone命令
Java学习笔记--Git入门2_第6张图片
本地就有了一个gitTest的目录
Java学习笔记--Git入门2_第7张图片
④user2对内容进行了修改,提交到本地库,再提交到远程库时是没有权限的,需要邀请user2加入团队才可以。
Java学习笔记--Git入门2_第8张图片
Java学习笔记--Git入门2_第9张图片
Java学习笔记--Git入门2_第10张图片
把链接发送给要邀请的人,user2接收邀请即可。
⑤user2在修改了远程库的内容,之前团队成员还是之前的内容,如果想拉取远程库,使用下面命令:
Java学习笔记--Git入门2_第11张图片
从上面可以看出,只是把远程库的内容抓取下来,并没有更新工作区。使用git merge <远程地址别名>/<远程分支名>命令更新工作区
Java学习笔记--Git入门2_第12张图片
冲突问题:如果不是基于GitHub远程库的最新版所做的修改,就不能推送,必须先拉取。拉取下来后如果进入冲突状态,按照“分支冲突解决”的方法解决。

跨团队协作

①如果需要团队外的人员user3参与项目开发,团队成员把远程库链接发送给user3,user3把远程库fork一份,Java学习笔记--Git入门2_第13张图片
Java学习笔记--Git入门2_第14张图片
然后user3,就可以按照团队协作的方式拉取修改远程库内容了。
②user3完成后,点击pull requests,发起请求
Java学习笔记--Git入门2_第15张图片
Java学习笔记--Git入门2_第16张图片
Java学习笔记--Git入门2_第17张图片
Java学习笔记--Git入门2_第18张图片
③团队成员就可以看到user3发出的request,
Java学习笔记--Git入门2_第19张图片
Java学习笔记--Git入门2_第20张图片
对user3提交的代码进行审核
Java学习笔记--Git入门2_第21张图片
如果没有问题,在Conversation中确认合并
Java学习笔记--Git入门2_第22张图片
Java学习笔记--Git入门2_第23张图片
④团队成员将远程库拉取到本地,就完成了。

Tips:有的系统登录一次后会在控制面板->凭据管理器->普通凭据中保存github的登录信息,因此使用上述命令中可能会出错,要删除凭据,每次操作远程库时重新登录。

SSH登录

github中除了使用上述使用的HTTP链接,还可以使用SSH。
首先使用cd ~命令进入家目录,然后创建SSH key:
Java学习笔记--Git入门2_第24张图片
Tips:命令中是github账号邮箱,然互一直回车就好。
Java学习笔记--Git入门2_第25张图片
复制。打开github-》右上角头像-》setting-》SSH and GPG key,
Java学习笔记--Git入门2_第26张图片
Java学习笔记--Git入门2_第27张图片
然后进入相应的项目目录下,执行命令(要在github中复制自己远程库的ssh链接):
Java学习笔记--Git入门2_第28张图片
以后就可以直接拉取上传远程库,不用再登录GitHub的账户密码

你可能感兴趣的:(Java)