Git学习第3天(2021-12-08)

19、Git-团队协作-团队内协作和跨团队协作。

在.git文件夹里面有个文件:HEAD

Git学习第3天(2021-12-08)_推送


它里面的内容是代表当前的分支是哪一个。

文件夹refs:

Git学习第3天(2021-12-08)_git_02


Git学习第3天(2021-12-08)_推送_03


里面记录的是某个分支对应的版本是哪一个。

其实就是指针在操作。

之前学习的都是在PC端进行控制。
如何利用Git进行团队合作呢?
这就需要用到代码托管中心了。

团队协作分为两种:

1、团队内协作

Git学习第3天(2021-12-08)_推送_04

2、跨团队协作

Git学习第3天(2021-12-08)_远程库_05

20、Git-GitHub-创建远程库&创建别名

GitHub的官网:

​https://github.com/​

Git学习第3天(2021-12-08)_远程库_06


登陆进来之后:

Git学习第3天(2021-12-08)_git_07


1、在github里面创建一个远程仓库。

点击这个+号

Git学习第3天(2021-12-08)_git_08


Git学习第3天(2021-12-08)_远程库_09


开始创建远程库:

Git学习第3天(2021-12-08)_远程库_10


1、写一个远程库的名字

【注意】:

我们本地已经有了一个git的项目叫做:GitDemo

Git学习第3天(2021-12-08)_远程库_11


所以我们建议在创建远程库的时候,名字也叫做GitDemo

Git学习第3天(2021-12-08)_推送_12

2、选择你这个远程库是公共库还是私有库?

一般选择公共库。

Git学习第3天(2021-12-08)_推送_13


公共库的读权限是完全开放的。之后就直接点击创建。

Git学习第3天(2021-12-08)_推送_14


Git学习第3天(2021-12-08)_git_15


Git学习第3天(2021-12-08)_推送_16

远程库创建好之后,就会出现两个链接。
1、HTTPS:
2、SHH链接。

先使用HTTPS:
复制HTTPS的链接:

​https://github.com/RtlTengLong/GitDemo.git​

创建远程库别名。
因为这个链接太长了,记不住。
给这个链接起一个别名。
将来对这个远程库进行代码推送或者拉取的时候,可以直接使用别名进行推送或者拉取。

在命令行里面查看当前git有哪些别名。

Git学习第3天(2021-12-08)_远程库_17

git remote -v

Git学习第3天(2021-12-08)_远程库_18


发现当前没有别名。

创建一个别名。

【建议】:

别名和库名GitDemo保持一致。

然后把刚才HTTPS的链接原封不动复制过来。

git remote add GitDemo https://github.com/RtlTengLong/GitDemo.git

Git学习第3天(2021-12-08)_推送_19


创建好别名之后,再查看别名

git remote -v

Git学习第3天(2021-12-08)_远程库_20


之所以有两个。

是因为,以后,这个别名【GitDemo】既可以拉取,也可以推送。

现在就已经再GitHub上创建好远程库和别名了。

21、Git-GitHub-推送本地库到远程库

现在:
远程库和它的别名已经创建好了。
但是远程库里面现在还没有代码。
现在准备将本地库的代码推送到远程库里面去。
如何推送呢?
需要使用push命令

【注意】:
将本地库推送给远程库的时候,一定要指明哪个分支。
需要指定将本地库的哪个分支推送上去?
现在我们本地库GitDemo项目有两个分支:
1、matster
2、hot-fix

切回master分支:

git checkout master

Git学习第3天(2021-12-08)_推送_21


查看当前分支master里面有哪些代码?

命令:ll

Git学习第3天(2021-12-08)_推送_22

【关键】
将本地库的代码推送到远程仓库:
命令:
git push 【目的远程的仓库别名】 【将本地该项目的哪个分支推送到远程库呢?】
git push GitDemo master
刚才在GitHub上新建了一个仓库,并且给它娶了一个别名:GitDemo
master是这个项目的一个分支。需要将本地的master这个分支推送到别名为GitDemo仓库里面去。

【注意】:

1、当前这个命令行就是:

Git学习第3天(2021-12-08)_git_23


2、当前执行命令的分支就是master

Git学习第3天(2021-12-08)_git_24


【执行推送命令】:

Git学习第3天(2021-12-08)_远程库_25


【注意】:

这一步,因为需要将代码推送到国外的服务器,所以需要一点时间。需要对你的网络要求有点高。

执行之后,弹出一个小框:

Git学习第3天(2021-12-08)_git_26


提示我们登陆GitHub

选择方式1:使用浏览器的账号。

Git学习第3天(2021-12-08)_远程库_27


点击之后,浏览器会弹出一个窗口:

Git学习第3天(2021-12-08)_git_28


Git学习第3天(2021-12-08)_推送_29


Git学习第3天(2021-12-08)_远程库_30


Git学习第3天(2021-12-08)_推送_31


输入qq号

Git学习第3天(2021-12-08)_远程库_32

【注意】:

这里一定要多尝试几次。

Git学习第3天(2021-12-08)_推送_33

显示推送成功的信息:

Git学习第3天(2021-12-08)_远程库_34

刷新刚才创建仓库的浏览器页面:

Git学习第3天(2021-12-08)_远程库_35


刷新之后:

发现本地库的代码hello.txt成功的push到远程库了。

Git学习第3天(2021-12-08)_推送_36


点击hello.txt可以直接看到代码:

Git学习第3天(2021-12-08)_git_37


Git学习第3天(2021-12-08)_远程库_38

22、Git-GitHub-拉取远程库到本地库。

我们之前讲了讲本地库推送到远程库,现在讲一下,怎么拉取远程库到本地库。

1、先在网页端对代码进行了修改:

Git学习第3天(2021-12-08)_远程库_39


Git学习第3天(2021-12-08)_推送_40


修改前:

Git学习第3天(2021-12-08)_远程库_41


修改之后:在最后一行写了很多个1

Git学习第3天(2021-12-08)_推送_42


写Commit changes为111,然后再提交:

Git学习第3天(2021-12-08)_远程库_43


提交之后:

Git学习第3天(2021-12-08)_远程库_44

这个时候:
远程库里面的代码和本地库的代码是不一致的。
所以:
就需要将远程库的代码拉取到本地。

拉取和之前讲的推送是一样的。

都可以使用别名,也一定要指定分支。

命令:

git pull GitDemo master

Git学习第3天(2021-12-08)_推送_45

从远程库拉取成功之后,先查看本地库的状态

git status

Git学习第3天(2021-12-08)_git_46


发现状态很干净,说明:

拉取动作会自动帮我们对更改的代码进行add和commit的操作。查看精简日志:

git reflog

Git学习第3天(2021-12-08)_远程库_47

查看文件

cat hello.txt

Git学习第3天(2021-12-08)_远程库_48


发现当时在远程库直接加的代码已经回来了。

本地库的代码和远程库的代码是一致的。

【注意】:
要时刻让你本地的代码一直是一个最新的状态。

23、Git-GitHub-克隆远程仓库到本地

1、D盘里面,GitSpace下面的东西:

Git学习第3天(2021-12-08)_远程库_49


Git学习第3天(2021-12-08)_推送_50


Git学习第3天(2021-12-08)_远程库_51


2、在D盘下面创建一个文件夹:

Git-rtl

Git学习第3天(2021-12-08)_git_52


2、进入Git-rtl目录:

在这个目录下右键:

Git学习第3天(2021-12-08)_git_53


Git学习第3天(2021-12-08)_git_54


3、去拿到远程库那个仓库的HTTPS的链接。

Git学习第3天(2021-12-08)_git_55


Git学习第3天(2021-12-08)_远程库_56

​https://github.com/RtlTengLong/GitDemo.git​

克隆之前:

需要把电脑里面的凭据管理器的已经存在的GiuHub的账号密码删除掉。

Git学习第3天(2021-12-08)_推送_57


Git学习第3天(2021-12-08)_git_58

因为Windows只能记住一个账号
我们要以Git-rtl的身份去克隆RaoTengLong的代码。

执行克隆命令:

git clone https://github.com/RtlTengLong/GitDemo.git

Git学习第3天(2021-12-08)_git_59


发现一个

【常识】:

我们已经将windows的账号密码删掉了,克隆无需账号密码也可以将远端的仓库的克隆下来。

这是因为,当时新建GitDemo仓库的时候,那个仓库就是设置的public。公共库的读权限是没有限制的。

任何人都可以克隆这个代码。

查看代码:ll

Git学习第3天(2021-12-08)_远程库_60


Git学习第3天(2021-12-08)_git_61


Git学习第3天(2021-12-08)_git_62


Git学习第3天(2021-12-08)_远程库_63


Git学习第3天(2021-12-08)_推送_64


Git学习第3天(2021-12-08)_推送_65


说明克隆干了三件事:

1、拉取代码

2、初始化本地库

3、创建别名

查看别名:

当前在Git-rtl里面

Git学习第3天(2021-12-08)_远程库_66


进入GitDemo里面

Git学习第3天(2021-12-08)_git_67


git remote -v

Git学习第3天(2021-12-08)_git_68