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 服务。

相关推荐
胡小禾2 分钟前
Git Worktree
git
程序员小羊!15 分钟前
18 GIt
git
怣疯knight15 分钟前
Git 本地分支关联远程分支 常用命令汇总
git
ANNENBERG1 小时前
git分支开发管理
git
坤坤藤椒牛肉面1 小时前
GIT的使用
git
w3296362711 小时前
使用 OpenCode 在 Windows 上加速安装 Playwright 的完整指南
windows·git
宝桥南山1 小时前
GitHub Copilot - 尝试使用一下Azure Devops MCP server
microsoft·微软·github·aigc·copilot·devops
MicrosoftReactor1 小时前
技术速递|提升 GitHub Agentic Workflows 的 Token 使用效率
ai·github·copilot·智能体
DogDaoDao1 小时前
【GitHub】last30days-skill 深度技术解析
深度学习·程序员·大模型·github·ai agent·agent skill
IT WorryFree1 小时前
GitHub / Gitee / Gitea / GitLab 四平台完整对比(定位、优缺点、适用场景)
gitee·github·gitea