快速学会 IDEA 中 Git 的使用与 GitHub 仓库创建、连接、发布

简介: IDEA 中 Git 的使用GitHub 仓库创建、连接、发布

🍎道阻且长,行则将至。🍓


为什么要使用 Git 版本控制,我们先看看一下场景:
场景一:备份
小明负责的模块就要完成了,就在即将 Release 之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流。
场景二:代码还原
这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。
场景三:协同开发
小刚和小强先后从文件服务器上下载了同一个文件:Analysis.java。小刚在 Analysis.java 文件中的第 30 行声明了一个方法,叫 count(),先保存到了文件服务器上;小强在 Analysis.java 文件中的第 50 行声明了一个方法,叫 sum(),也随后保存到了文件服务器上,于是,count() 方法就只存在于小刚的记忆中了。
场景四:追溯问题代码的编写人和编写时间
老王是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序员的工资!
就拿这次来说吧,有个 Bug 调试了 30 多个小时才知道是因为相关属性没有在应用初始化时赋值!可是二胖、王东、刘流和正经牛都不承认是自己干的!
Git 分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。

一、Git 🌴

1.Git 工作流程

image.png

  1. clone(克隆): 从远程仓库中克隆代码到本地仓库
  2. checkout(检出):从本地仓库中检出一个仓库分支然后进行修订
  3. add(添加): 在提交前先将代码提交到暂存区
  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本
  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
  6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于

fetch+merge

  1. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
  • 我们看到图上有远程仓库还有本地仓库,那这两个是什么?

远程仓库和本地仓库都是一个代码存放的地方,远程仓库例如:GitHub、gitee 等类型的远程代码托管服务以及一些自己搭建的服务;本地仓库就在你的工作机上,例如你创建一个 Git 仓库之后你的工作文件夹里多出来一个 .git 的隐藏文件夹,
image.png

2.Git 安装

进入 Git 的官网 https://git-scm.com 对应下载安装即可。
image.png

没有其他需求一路默认安装,结束之后你的鼠标右键点击会出现两个 Git 功能:
image.png

Git GUI:Git 提供的图形界面工具
Git Bash:Git 提供的命令行工具

3.常用命令

Git Bash 使用滚轮按下进行粘贴。

  1. git init

在你的当前目录下创建仓库 repository,果创建成功后可在文件夹下看到隐藏的 .git 目录。
Git 工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行 Git 的命令而发生变化。
image.png

  1. git add (工作区 → 暂存区)

添加工作区一个或多个文件的修改到暂存区:
git add 单个文件名|通配符
将所有修改加入暂存区:git add

  1. git commit (暂存区 → 本地仓库)

提交暂存区内容到本地仓库的当前分支

  1. git status:查看的修改的状态(暂存区、工作区)
  2. git log 查看提交日志

git log [option]
options:
-- all 显示所有分支
-- pretty=oneline 将提交信息显示为一行
-- abbrev-commit 使得输出的commitId更简短
-- graph 以图的形式显示

.gitignore 的文件 : 忽略列表,有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。

4.分支

使用分支可以把你的工作从开发主线上分离开来进行重大的 Bug 修改、开发新的功能,以免影响开发主线。

  1. git branch :查看本地分支
  2. git branch 分支名 :创建本地分支
  3. git checkout 分支名 :切换分支
  4. git merge 分支名称 :合并分支,一个分支上的提交可以合并到另一个分支
  5. git branch -d b1 删除分支时,需要做各种检查

git branch -D b1 不做任何检查,强制删除
只能删除其他分支

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突:

  1. 处理文件中冲突的地方
  2. 将解决完冲突的文件加入暂存区(add)
  3. 提交到仓库(commit)

二、远程仓库 GitHub 🌵

Git 中存在两种类型的仓库,即本地仓库和远程仓库。Git 远程仓库常见的有 GitHub、Gitee等,这一节以 GitHub 为例进行配置使用远程仓库。

1.注册使用

官网 https://github.com
注册完成之后点击 +,Create a new repository:
image.png

按你的情况填写即可,
image.png

创建成功之后你会看到以下界面,第一个框框里面 SHH 给出的就是你的远程仓库地址:
image.png

非空仓库的就点 Code 查看:
image.png

2.配置 SSH 公钥

你只有 远程仓库地址时,你还是不能提交到远程仓库,这时候还需要我们生成 SSH 公钥(证明我是我),并配置到远程仓库。

  1. 生成 SSH 公钥

Git bash :ssh-keygen -t rsa
会在你的文件夹里面生成这样的文件(控制台会提示你在哪):
image.png

使用记事本打开这个文件复制里面全部内容。

  1. 配置GitHub

打开个人中心的 Settings:
image.png

选择 SSH and GPG keys:
image.png

填写你的 SSH:
image.png

3.在 IDEA 中配置

打开 settings,搜索 Git,如果 Git 是默认安装的则这里直接可以看到 Git 的 path,否则你需要设置一下地址,设置成功点击 test 可以看到版本号:
image.png

可以继续在下面的 GitHub 添加:
image.png

选择第二个使用 Token:
image.png

直接点击 Generate 自动跳转到你的 GitHub,配置好的 token 会给你列举在下面:
image.png

   你可以使用 Revoke all、delete 删除你的授权。
然后得到你的 token 后填入 IDEA,你的账号就会列举在当前列表。

3.IDEA to GitHub

你可以在IDEA的 VCS 或者 Git 中上传到 GitHub:
image.png

设置你的仓库名称、描述:
image.png

点击 share:
image.png

等待一段时间提时完成了:
image.png

这时候我们打开 GitHub 发现项目里面的代码已经上传上去了:
image.png

4.创建分支

我们项目想创建一个分支进行操作,可使用 branch 或者 new branch:
image.png

image.png

输入分支名称:
image.png

我们可以在右下角查看分支情况:
image.png

点击一个分支后,在这个界面里我们可以进行切换分支,并入分支以及删除分支
image.png

打开左下角的 Git 我们可以看到 Log:
image.png

5.commit 到仓库

image.png

在 Git 的快捷界面提供的 commit 和 push 可以帮助我们提交到本地仓库和远程仓库:
image.png
image.png

克隆远程仓库到本地。

例如我们本地有了一个新分支,我们使用 Push 提交到远程仓库:
image.png
image.png
提示成功 Push
打开 Git image.png
或者 GitHub 可以看到新分支出现了:
image.png
image.png

当我们本地和远程仓库有多个分支的时候,如果不统一就会忘记分支的对应关系,可以使用 git branch -vv
查看本地分支和远程分支的关联:
image.png

上图可看出本地分支有 3 个:master、develop_V1 和 develop_V2,其中 develop_V2 是在 develop_V1 上创建的分支,且没有 Push 到远程仓库,而另外两个都 Push的远程仓库了。

note:切换分支前先提交本地的修改。

创建 .ignore 文件:
在 git 目录下打开 gitbash
执行指令 touch .gitignore

6.从远程仓库中抓取和拉取

远程分支和本地的分支一样,我们可以进行 merge 操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。

抓取命令:git fetch [remote name] [branch name]
抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
如果不指定远端名称和分支名,则抓取所有分支

拉取 命令:git pull [remote name] [branch name]
拉取指令就是将远端仓库的修改拉到本地并自动进行合并等同于 fetch + merge
如果不指定远端名称和分支名,则抓取所有并更新当前分支。

在 IDEA 中直接使用工具:
image.png

选择抓取仓库以及分支:
image.png

7.GitHub 的简单页面发布

当你的项目是正常可显示,或者里面有 README.md 文件,我们可以使用 GitHub 发布作为网页来浏览。
image.png

Save:
image.png

在 Actions 中可以看到页面正在建立:
image.png

成功!
image.png

image.png

但是我的这个项目是没有可显示的页面的:
image.png

在另一个有写 README.md 文件的进行发布:

image.png

访问链接路径:成功啦
image.png


☕物有本末,事有终始,知所先后。🍭

相关文章
|
30天前
|
网络安全 数据安全/隐私保护 开发者
诊断并修复SSH连接Github时遇到的"connection closed"错误。
解决"connection closed"错误往往是一个排除法的过程。需要从基础的网络检查做起,逐步过渡到深入的配置和服务端日志审查。每一步都应当仔细验证,确保不遗漏可能导致连接问题的任何细节。在执行以上步骤后,大多数SSH连接问题可以得到解决。如果所有步骤都未能解决问题,可能需要寻求更专业的技术支持,或者在GitHub社区寻找是否有其他开发者遇到并解决了类似的问题。
186 0
|
1月前
|
安全 网络安全 数据安全/隐私保护
解决SSH测试连接GitHub时出现“connection closed by remote host”的问题。
然后使用 `ssh -T git@ssh.github.com`来测试连接。
159 0
|
4月前
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
5月前
|
Shell 开发工具 git
解决git bash报错:在仓库中检测到可疑的所有权
总的来说,解决“在仓库中检测到可疑的所有权”的报错,关键在于理解和调整文件或目录的所有权。只要我们正确地设置了文件或目录的所有权,那么我们就可以避免这种问题,让Git Bash正常工作。
198 22
|
3月前
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
189 0
|
5月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
1026 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
8月前
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
416 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
5月前
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
2142 11
|
8月前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
364 0
|
24天前
|
JSON Kubernetes 安全
找到啦,我们已上车,Github 27000+ star,研发团队必备开源工具项目,真丝滑!!!
Trivy 是一款高效灵活的开源安全扫描工具,支持容器镜像、文件系统、Kubernetes 等多目标扫描,具备快速、易用、集成性强等特点,适用于 DevSecOps 全流程安全检测。

热门文章

最新文章