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

相关推荐
但老师4 小时前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y4 小时前
git创建分支
git
研究是为了理解9 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT10 小时前
Git 的基本概念和使用方式
git
Winston Wood13 小时前
一文了解git TAG
git·版本控制
喵喵先森13 小时前
Git 的基本概念和使用方式
git·源代码管理
王解14 小时前
Jest项目实战(4):将工具库顺利迁移到GitHub的完整指南
单元测试·github
油泼辣子多加14 小时前
2024年11月4日Github流行趋势
github
xianwu54315 小时前
反向代理模块
linux·开发语言·网络·git
梓羽玩Python15 小时前
推荐一款用了5年的全能下载神器:Motrix!全平台支持,不限速下载网盘文件就靠它!
程序员·开源·github