一、远程分支查看
1.查看远程分支
bash
git branch -a #查看远程分支

绿色的是我们所处于的master分支
bash
git branch -av #查看本地分支和远程分支的最后提交

红色的是我们远程的origin的master分支
2.查看领先次数
再在本地添加一个分支dev试试

可见此时远程仓库没有我们新建的分支
我们来在dev分支修改一个文件试一试,看一下远程和本地的区别
创建一个A.txt提交到本地库并提交,之后推送dev分支,在dev分支上做修改操作:
推送成功

修改A.txt并提交到本地库

bash
git branch --set-upstream-to=origin/dev dev #给dev分支设置上游(跟踪)分支
然后执行
bash
git branch -vv

可见本地这边因为又提交了一次,所以显示 ahead 1,领先一次提交
再使用
bash
git status
就会显示

本地比远程多提交一次
3.分支推送协作
创建develop分支
bash
git checkout -b develop

然后推送
bash
git push

有时候会无法上传,就需要执行下边的命令
bash
git push --set-upstream origin develop
4.分支拉取协作
当我们发现远程仓库有我们本地仓库没有的分支,那我们就可以创建一个同名的分支,就拿develop来说。
bash
git checkout -b develop origin/develop
此时我们创建切换到了develop分支上,并且该分支和远程分支develop相关联
我们还可以使用另一种方式本地分支追踪,先push一下,然后输入以下命令
bash
git checkout --track origin/feature
5.远程分支的删除
本地删除Feature分支之后,不影响远程的Feature分支。
我们也可以删除对应的远程分支
bash
git push origin --delete feature
二、多人协作
1.克隆项目
就比如我的当前项目,另一个人想要一同协作,那么他需要克隆我的项目
(1)打开Gitee找到相应地连接地址
这里我用的ssh

(2)模拟2P克隆到本地
再从创建一个2P文件夹来操作,然后clone下仓库的内容

这个时候就可以在2P里看见我们远程的文件了

我们克隆的是一个项目的文件夹,为了严谨性,我们把里边的东西拿出来到这个路径里边,毕竟这个文件夹才算是克隆的地方,被git管理

想一下协作场景,无非就是1P操作新文件,2P操作新文件。
1P上传了文件之后,2P是要先把远程仓库的东西拉下来才能上传的。
1P修改了A文件,2P修改了A文件,就又有了冲突问题了。
(3)探究协作处理
①1P先创建一个文件提交,然后让2P落后一次
可见1P有此文件

远程仓库也有此文件

②再让 2P创建一个文件提交,看能否提交成功

可见是并不能提交成功的
③处理方法
让2P从远程仓库拉取下来,fast-forwar表示不需要手动处理冲突直接合并。
(4)探究冲突处理
如果2P和1P同时修改同一处地方,那么提交并推送到远程仓库的时候是不可以的。
先拉下来,无法自动合并就只留下一个人的,然后推送到远程就成功了
三、tag标签远程管理
1.tag标签概念
Tag标签的解释:什么是tag标签?相当于把此刻的状态做好标记,起个名字,以后方便回溯。
分支就相当于一个会动的线,代码一直在更新。
标签就相当于钉在墙上的钉子,消失不了,除非你手动删除 。
2.tag用来干什么?
由于有了这种特殊的功能,我们就可以做版本的发布了,并且也可以回溯到之前重要的节点。
3.演示
(1)查看所有标签
bash
git tag

没看见有任何标签,因为我们没创建过任何标签。
(2)创建标签
bash
git tag 标签名

再查看一下

(3)把标签推送到远程
bash
git push 远程仓库名 标签名

我们看一下远程仓库有没有v1.0的标签

点进来可以看见相应的操作

(4)tag标签的删除
①Gitee网页删除
②git命令删除
bash
git push origin :ref/tags/标签名
git push origin --delete tag 标签1 标签2 .......

(5)tag标签检出
检出标签 =切换到某个历史版本的快照
就像把代码瞬间回溯到打这个标签的那一刻
bash
git checkout -b 分支名 标签名

这段代码就相当于以v1.0为模板创建了一个test2分支。
四、idea中集合git使用
1.在idea中配置git
idea的设置里侧栏有git选项


配置好之后,点击测试,如果成功就会显示你的git版本

2.idea创建仓库

选择你的项目

编写一些新文件然后提交

作者名的格式应该为 作者名 作者邮箱

下拉框可以有提交并推送,点击之后提交到本地库的同时push到了远程仓库

通常我们提交改变的文件是上传整个项目,可以像上边的方式一样操作
也可以直接右键项目文件,git选项

3.idea推送到远程仓库

