Git、Github、Gitee、GitLab学习,团队协助/版本控制

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。B站尚硅谷Git学习笔记

一、Git的常用命令

1.git工作机制

工作区和暂存区的文件都可删除,但是提交到本地库则不可删除,有历史记录

2.历史版本

2.1查看历史版本
1)基本语法

git reflog 查看版本信息

git log 查看版本详细信息

2)案例实操
2.2版本穿梭
1)基本语法

git reset --hard 版本号

2)案例实操

从第3版穿梭至第2版

二、Git分支操作

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独 分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时 候,不会影响主线分支的运行。

1.切换分支

1)基本语法

git checkout 分支名

2)案例实操

2.合并分支

1)基本语法

git merge 分支名

2)案例实操 在 master 分支上合并 hot-fix 分支

即hot-fix分支覆盖master分支

3.产生冲突及解决

1)产生冲突的原因

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替我们决定使用哪一个。必须人为决定新代码内容。

2)解决冲突
①编辑有冲突的文件,删除特殊符号,决定要使用的内容

特殊符号:

<<<<<<< HEAD

当前分支的代码

=======

合并过来的代码

>>>>>>> hot-fix

②添加到暂存区
③执行提交(注意:此时使用 git commit 命令时不能带文件名)

错误示例:(提交了文件名,git不知道是哪个hello.txt)

正确提交:

4.Git底层其实是指针

Git 切换版本,底层其实是移动的 HEAD 指针

master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD 决定的。所以创建分支的本质就是多创建一个指针。 HEAD 如果指向 master,那么我们现在就在 master 分支上。 HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。

三、GitHub

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库

➢ 局域网 ✓ GitLab

➢ 互联网 ✓ GitHub(外网) ✓ Gitee 码云(国内网站)

1.远程仓库操作

1.1创建远程仓库别名
1)基本语法

git remote -v 查看当前所有远程地址别名

git remote add 别名 远程地址

2)案例实操
1.2推送本地分支至远程仓库
1)基本语法

git push 别名 分支

2)案例实操

推送成功!

1.3拉取远程库到本地库
1)基本语法

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

2)案例实操

即同步本地库的代码为远程库修改的代码

1.4邀请加入团队

1)选择邀请合作者

2)填入想要合作的人

3 ) 复 制 地 址 并 发 送 给 该 用 户

4)在 atguigulinghuchong 这个账号中的地址栏复制收到邀请的链接,点击接受邀请。

5)成功之后可以在 atguigulinghuchong 这个账号上看到 git-Test 的远程仓库。

1.4克隆远程仓库到本地
1)基本语法

git clone 远程地址

2)案例实操

令狐冲 克隆岳岳的远程库代码到本地

小结:clone 会做如下操作:

1、拉取代码。

2、初始化本地仓库。

3、创建别名(自动为origin)

2.团队协作

1)团队内协作

令狐冲克隆岳岳的代码到本地库后,

可以修改本地代码-->加入本地暂存区-->提交到本地库->推送远程库(要加入团队)

2)跨团队协助

在东方不败的 GitHub 账号里的地址栏复制收到的链接,然后点击 Fork 将项目叉到自 己的本地仓库。

东方不败在线编辑代码后,接下来点击上方的 Pull请求,并创建一个新的请求。

如果代码没有问题,可以点击Merge pull reque 合并代码

3.SSH免密登录

1)进入用户根目录,运行命令生成.ssh 秘钥目录
2)进入.ssh 目录查看文件列表:一个公钥、一个私钥
3)复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys

接下来再往远程仓库 push 东西的时候使用 SSH 连接就不需要登录了。

四、Idea集成Git

1.切换版本

commit代码到本地库后,可以切换版本

在 IDEA 的左下角,点击 Version Control(Git),然后点击 Log 查看版本

右键选择要切换的版本,然后在菜单里点击 Checkout Revision

切换后,头指针指向了第二个版本,代码也变为了第二个版本

2.创建分支和切换分支

选择 Git,在 Repository 里面,点击 Branches 按钮。

在弹出的 Git Branches 框里,点击 New Branch按钮。

填写分支名称,创建 hot-fix 分支。checkout branch表示切换到hot-fix分支

也可以在右下角切换master分支

3.合并分支(正常)

4.合并冲突并解决冲突

1)合并冲突

如图,如果 master 分支和 hot-fix 分支都修改了代码,在合并分支的时候就会发生 冲突

2)解决冲突

点击 Conflicts 框里的 Merge按钮,进行手动合并代码。

手动合并完代码以后,点击右下角的Apply按钮。

五、Idea集成GitHub和Gitee

1.GitHub(国外代码托管中心)

1)设置 GitHub 账号
2)分享工程到 GitHub
3)push 推送本地库到远程库

默认是HTTPS,这里我们使用SSH,先复制远程库SSH链接

再自定义远程链接

注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致, push 的操作是会被拒绝的。也就是说,要想 push 成功,一定会先检查下远程库跟本地 代码的区别!如果本地的代码版本已经落后,切记要先pull拉取一下远程库的代码,将本地 代码更新到最新以后,然后再修改,提交,推送!

4)pull 拉取远程库到本地库

若修改了远程库的代码,即远程库的代码版本比本地库的更新,本地库需pull拉取远程库的代码

注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动 合并,如果自动合并失败,还会涉及到手动解决冲突的问题。

5)clone 克隆远程库到本地

2.Gitee码云(国内代码托管中心)

1)IDEA 安装码云插件

云服务器在国内,用 HTTPS 链接即可,没必要用 SSH 免密链接。

2)IDEA 连接码云

Idea 连接码云和连接 GitHub 几乎一样,首先在 Idea 里面创建一个工程,初始化 git 工 程,然后将代码添加到暂存区,提交到本地库,这些步骤上面已经讲过,此处不再赘述。

将本地代码push到码云远程库

2)码云复制 GitHub 项目

码云提供了直接复制 GitHub 项目的功能,方便我们做项目的迁移和下载。

如果 GitHub 项目更新了以后,在码云项目端可以手动重新同步,进行更新

六、GitLab-自建代码托管平台

GitLab 是由 GitLabInc.开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有 wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。

相关推荐
韩数3 小时前
Nping: 支持图表实时展示的多地址并发终端命令行 Ping
后端·rust·github
梓羽玩Python5 小时前
超火的AI自动化操控浏览器神器!一夜爆火,5天内新增3K Star!AI智能体趋势使然。
人工智能·github
阳区欠6 小时前
【Linux】Linux的基础工具
linux·服务器·git·vim·gcc/g++·makefile/make·gdb/cgdb
神的孩子都在歌唱6 小时前
你了解DNS吗?
github
NocoBase7 小时前
GitHub 上排名前 11 的开源管理后台(Admin Dashboard)项目
低代码·开源·github·仪表盘·admin
油泼辣子多加7 小时前
2024年12月27日Github流行趋势
人工智能·github
Regnaiq8 小时前
matlab客户端最新功能:使用vs code的github copilot编写mlx实时脚本文件
matlab·github·copilot
嘤嘤嘤9 小时前
基于大模型技术构建的 GitHub Assistant
前端·github
記億揺晃着的那天10 小时前
Github优质项目推荐(第九期)
github
l and11 小时前
Git 行尾换行符,导致无法进入游戏
android·git