Git的下载和基本原理、Git常用命令与分支管理、IDEA集成Git、IDEA关联Github和Gitee

目录

一、Git的下载和基本原理

下载链接

Git和小乌龟(图形化软件)的下载地址:
我用夸克网盘给你分享了「代码仓库小乌龟」,点击链接或复制整段内容,打开「夸克APP」即可获取。

安装Git

先安装git 再装另外一个图形化界面的工具

默认是C盘 可以不改 但是改的话一定要记住路径 待会安装可视化工具的时候

下面直接一路默认即可

需要找到此路径
看到如下两个就算安装成功了 其实已经可以用命令行的方式操作了

接下来安装的图形化工具对初学者可能更友好

安装图形化界面工具

改一个安装路径之后 傻瓜式安装即可

他会自动找到此路径 就是刚刚安装的git的bin目录

注意 第一次安装的时候 需要我输入下面的信息

这些在Gitee主页都能找到

右击看到这三个就算安装成功了

结合Gitee 了解git图形化操作

先在Gitee上建一个远程库

第一次创建的时候 可能无法选择开源 在创建完成之后 可以选择开源

clone远程仓库到本地

首先复制好远程仓库的链接 希望在本地的哪里管理仓库 就进入该路径 然后选择git clone

第一次clone 可能会出现下面的情况:

这里的信息 和之前填写过的是一样的

之后的操作 都可以右键 然后直接选择

Git的基本原理

Git工作流程:

1.在工作目录中添加、修改文件(workspace)

2.将需要进行版本管理的文件放入暂存区域(add到index)

3.将暂存区域的文件提交到本地仓库(commit到repository)

4.把本地仓库的文件代码push到远程仓库(比如Gitee GitHub...)

因此 git 管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)


Git 本地有三个工作区域

1.工作目录(Working Directory):就是希望Git帮助你管理的文件夹

2.暂存区(Stage/Index):它只是一个文件 保存即将提交的文件列表信息(临时存放做的改动)

3.本地仓库(Repository):安全存放数据的位置 这里面有你提交的所有版本的数据 其中HEAD指向最新放入仓库的版本

4.再加上远程的git仓库(Remote Directory) 托管代码的服务器(比如Github/Gitee) 一共就可以分为四个工作区域

如何查看配置

安装Git后 首先要设置你的用户名称和e-mail地址 因为每次提交都会使用该信息

git config --global user.name "XXX"

git config --global user.email "XXX@xx.com"

指令成功执行 会生成C:\Users\Administrator.gitconfig
查看所有配置:git config -l

查看系统配置:git config --system --list

查看当前用户配置:git config --global --list(该指令显示的就是 C:\Users\Administrator.gitconfig的内容)

查看文件状态与git基本操作

文件四种状态 用过git status可查看:

1.Untracked:会显示红色的 单纯是工作区文件 不参与版本控制 通过git add→Staged 就是绿色的了

2.Unmodify:文件已经入本地库 但未修改 如果它被修改→Modified;如果使用git rm移出版本库→Untracked

3.Modified:入库文件被修改 再通过git add→暂存staged状态;使用git checkout则放弃修改(原来是A 工作区修改成B了 但是本地库里还是A checkout就把本地库的A覆盖回来了 )

4.Staged:暂存状态 再执行git commit提交到本地库→Unmodify状态;再执行git reset HEAD filename取消暂存→状态为Modified
查看指定文件状态:git status [filename]

查看所有文件状态:git status

添加所有文件到暂存区:git add .

提交暂存区中的内容到本地仓库:git commit -m "消息内容"

推送分支到远程仓库 git push --all

再去远程仓库 就可以看到了

二、基于本地库 认识git常用命令

新建本地库git init

创建一个本地库:就是Git用来存 "文件历史、版本记录" 的文件夹

1.先建一个文件夹 比如叫Git-Test 进入这个文件夹:cd /d/Git-Test

2.输入初始化命令:git init 则当前文件夹就可以版本控制了 但只是本地仓库

可以新增文件 熟悉一些指令 红色就代表文件未被追踪

add添加到暂存区/移出暂存区

add 添加到暂存区(Stage/Index)

如果提交了后悔了 用这个命令移除:git rm --cached test.txt

再敲git status 文件又会变回红色未追踪

commit提交到本地库

commit把add过的文件 提交到资源库(Repository或Git Directory 也叫本地仓库)

add到暂存区的文件还不算"正式保存"

commit提交到本地库后 文件才会被写入.git文件夹 还会生成一个版本号 以后想回退到这个版本都能找到

这里是本地库 所以没有push到远程仓库的操作

修改了文件 如何再次commit

如果修改了已经add 已经commit的文件 怎么再次commit? 需要重新add 再commit

因为Git只认暂存区的内容 不直接同步工作区的修改

假设已经修改了前面的.txt文件

1.敲git status 会看到提示modified 且 是红色未追踪状态

2.敲git add test.txt 把修改后的文件重新放进暂存区

3.敲git commit -m "xxx" test.txt 正式提交修改到本地仓库

查看历史版本git reflog

改了好几次文件 想看看之前有哪些版本、版本号是啥 用两个命令:

git reflog:看简洁版历史 用的较多

git log:看详细版历史

回退历史版本git reset

如果想回到第一次提交的版本:git reset --hard 版本号

1.先从git reflog里找到第一次提交的版本号 比如22d4119

2.git reset --hard 22d4119

3.打开test.txt看看 已经回退了

三、基于本地库 认识分支管理命令

git分支介绍

git默认有一个主分支master/main 春节的时候可能会出贺岁版 或者给别的公司的定制版

这个时候会有分支了 分支可以有多个(根据业务需求)

如果各分支没有交集 始终平行发展 则不需要合并(merge)

如果两个分支 需要合并 则执行merge操作 并且必须处理分支冲突

初始化测试本地库git init

创建用于测试的本地库以及文件

查看本地仓库分支git branch -v

master是默认分支

*表示当前所在分支

cb94f58是版本号

后面是"最近一次 提交的备注"

查看远程仓库分支git branch -r

时刻要有"分布式"的概念 本地和远程 都是有分支的

本地创建分支git branch XXX

git branch hot-fix

再用git branch -v查看 会发现多了个hot-fix分支 和master指向同一个版本(因为刚创建 还没修改)

注意:这个时候 只有本地仓库有hot-fix分支 还没有push到远程仓库

切换分支git checkout XXX

发现🌟在新的分支上 则目前在hot-fix分支上

切换之后 我做的任何动作和master就没关系了

这就意味我做的开发 不会影响master分支 就算出了问题 删了重新再基于master开一个分支即可

修改文件后 发现hot-fix的版本号变了 和master不一样了

这就是分支隔离的好处 在hot-fix上改 不会影响master

push本地分支到远程

上面的操作 都还没有对远程仓库生效

将本地分支v1.0作为独立分支提交到远程


合并分支git merge

一般情况 都是要把分支合并回master分支
所以首先要切换到master分支下 git checkout master 然后再执行git merge hot-fix

如果没冲突 会直接合并成功 master的版本号会变成和hot-fix一样 BranchTest也会多出前面hotfix增加的内容

解决分支冲突

如果在同一文件的同一行 master和hot-fix都做了修改 合并时就会冲突

比如:

master里把hello.txt改成 "hello git! master test";

hot-fix里把hello.txt改成 "hello git! hot-fix test";

现在合并hot-fix到master 报错:Automatic merge failed; fix conflicts and then commit the result.

解决步骤:

手动编辑Test.txt 决定要保留哪些内容 然后删除<<<<<<<、=======、>>>>>>>这些特殊符号

把修改后的文件 再次添加到暂存区 git add hello.txt

然后commit(注意 这次提交不能带文件名 ) git commit -m "解决冲突 合并hot-fix到master"

这样冲突就解决了

四、基于Github 认识远程库常用命令

基于远程库团队内协作

团队合作离不开远程库(比如 GitHub、Gitee、GitLab) 你改完代码 把代码push到远程库

同事从远程库pull你的代码 就能同步你的修改 所有人的代码都在远程库汇总 一目了然

1.团队负责人在Gitee/GitHub上建一个私有远程库(私有库只有团队成员能访问 避免代码泄露)

然后把所有团队成员拉进"库成员列表"(给大家 "读写权限",能拉能推)

2.团队成员每天打开项目前 先从远程库pull最新代码到本地 避免 "你改的是旧代码 同事改的是新代码 最后合并冲突";

然后在自己的分支上(避免在master分支上)完成代码; 改完push到远程仓库 告诉组长 我改完了 可以合并到master了

3.所有人把分支push到远程库后 组长要做两件事:

在远程库上发起"Pull Request(PR)" 或 "Merge Request(MR)" 检查代码有没有冲突、有没有 bug

确认没问题后 把所有人的功能分支合并到develop或master分支 然后通知大家"可以pull最新的合并代码了"

创建用于测试的远程库

在GitHub先创建自己的远程仓库

这就是远程库地址

远程仓库关联到本地仓库git remote

这一步有两个作用:

1.关联本地仓库和远程仓库

2.给刚才的远程库起个别名origin


关联的另一种方式 git clone

把前面创建的远程库直接克隆到本地 也就关联了(有.git了)

add commit

这两步操作 只是提交到了本地库 远程库还没有 需要push

push(需要生成Personal Access Token)

执行git push origin master 把本地master分支推到origin别名对应的远程库

会弹窗 需要输入用户名+密码 注意:现 GitHub不支持明文密码 建议用 "Personal Access Token"

Username:GitHub用户名
Password:填token 而不是密码



看到100% (3/3), done. 就说明推成功了

本地修改后 再push到远程

修改工作区的文件→add到暂存区→commit到本地库→push到远程库

从远程pull最新代码

拉取远程master分支的最新代码 并合并到本地 避免本地落后

git pull origin master

版本控制:查看历史提交版本 回退

查看commit历史

回退到指定版本

分支管理

新建分支

合并分支到主分支

功能开发完成后 已经合并 如果需要删除远程分支

git push origin --delete XXX

多人共同开发场景

登录GitHub 进入你的远程库 点击Settings→Collaborators→Add people

输入要邀请的GitHub用户名 点击Add collaborator

复制生成的邀请链接 打开链接 点击Accept invitation 就成为库的协作者了 可以pull push
核心原则是:多提交、常拉取、用分支隔离开发内容
下面是另一种方式:

1.git clone https://github.com/项目名称.git (克隆别人的仓库到本地)

2.git pull origin master (每天开发前必做 拉取团队最新代码)

3.完成代码 最终顺利push到远程库

克隆Github开源项目/跨团队协作

1.王五登录GitHub 打开张三的远程库 点击Fork 把库复制到自己的GitHub账号下

2.再git clone到本地 写代码或者修复bug 然后push回自己的远程库

3.发起PR 王五在自己的GitHub库页面 点击"Pull requests→New pull request" 选择"base repository"和"head repository" 点击"Create pull request"

4.张三在自己的GitHub库页面 会看到"Pull request"提醒 审核王五改的内容 没问题就"Merge pull request" 合并代码

5.合并后 张三的库就有了王五的修改 王五也会收到"PR 已合并"的通知

fork之后 就相当于自己远程有了一个这个开源项目的副本远程库

建议先克隆到本地 其余操作就都和前面一样了

克隆Gitee开源项目

目标:把这个仓库克隆到本地来 克隆远程代码仓库 就是将远程服务器上的仓库完全镜像一份至本地

git clone [url]

url 就是远程项目的地址 克隆一个代码仓库和它的整个代码历史(版本信息)


五、IDEA集成Git 基于本地库管理代码(图形化操作)

前言

前面的四章 似乎都是基于文件或者文本文件的操作 单纯为了熟悉一些git操作

但是实际工作中 真的用git版本控制 肯定是要结合一些编译器的 (支持图形化操作 也可以使用命令行)

下面首先理解IDEA+Git+本地仓库的管理
再学习IDEA+Git+本地仓库+远程仓库比如Gitee的管理(最重要)

.gitignore忽略不需要提交的文件

.gitignore文件语法和常见写法(就看这篇就行了)_.gitignore !**表示什么_石头wang的博客-CSDN博客

下面这个案例就表示

忽略 .gitignore文件所在目录以及他的子目录下 所有满足规则的文件


另一种方式

1.创建忽略规则文件git.ignore

在C:\Users\你的用户名

新建一个文件 名叫git.ignore(名字随便起) 并写入忽略规则

复制代码
# IDEA专属文件
.idea/
*.iml
*.iws
*.ipr
 
# 编译产物
target/
out/
 
# 操作系统文件
*.log
.DS_Store
Thumbs.db
 
# 临时文件
*.swp
*.swo

2.找到你的.gitconfig文件 也在用户家目录 是隐藏文件 用记事本打开添加一行配置

core

excludesfile = ‪C:\Users\zcyxd\git.ignore

保存后 Git就会自动忽略git.ignore里列的文件了

IDEA创建新项目 并集成Git

此时的项目还没有用Git进行管理 需要设置

初始化本地库

想让Git管理你的IDEA的项目 就得初始化本地库 选择需要用Git管理的项目文件夹

初始化成功后 项目里的文件会变成红色 也就是没有add的状态

左下角会出现Git相关按钮

add commit

选择Git→Add 文件会变成绿色 已在暂存区

选择Commit 文件变成黑色 表示已提交到本地库

由于是基于本地库的 所以没有push 如果有 直接push即可

切换回之前commit的版本

Checkout Revision 比敲git reset --hard直观多了

创建新的分支

1.创建分支


2.此时 只有本地有 远程仓库(如果关联过了) 还没有这个分支

3.push到远程仓库(如果关联过了)

切换/合并分支

注意:要合并到哪个分支 就先checkout到哪个分支 冲突解决之后 重新add commit一下即可

如果关联了远程仓库 这个时候远程仓库的master 还是没变化的 因为我刚刚解决冲突的操作 一切都还是发生在本地的
如果已经关联过远程仓库的话 还可以push一下这个项目文件 或者 直接push一下master分支



合并的时候 如果冲突 IDEA会出现如下界面

选择Merge就是在如下界面自己修改 apply就是采用修改的结果

删除分支

1.删除本地分支(这个时候删完 还能从远程checkout恢复下来 参考八、的第三点)

2.删除远程分支

六、IDEA关联Github

IDEA登录授权

先在idea设置代理

密码直接登录容易失败 所以推荐用Token登录

生成Personal Access Token见前面四、push(需要生成Personal Access Token)

点击头像→Settings→Developer settings→Personal access tokens→Tokens (classic)→Generate new token

Note:随便写

Expiration:选No expiration 表示永远不过期

Scopes:最好全部选中

点击Generate token 生成一串Token


看到自己的用户名头像即可

直接把本地的IDEA项目分享到GitHub

如果你本地用IDEA在写一个项目 想直接分享到GitHub (这个过程自动会让本地库关联远程库)

选择下图的share(Github直接有share Gitee需要下载一个插件才有share)

Repository name 远程库名字

Description 可选 写句描述

Private 勾选表示私有库

点击Share 之后IDEA会自动帮你在GitHub创建远程库;把本地代码推送到远程库;关联本地库和远程库(以后push/pull不用再配地址)

接下来就已经关联了 正常的add commit push即可

注意最好每次修改代码前 最好都先pull一下 保持代码是最新的

如果出现冲突 解决冲突即可

另一种方式关联方式:clone

IDEA里的Project from Version Control操作 本质上就是自动帮你完成了:

1.在指定路径执行 git clone [远程仓库地址]

2.自动打开克隆好的项目 并初始化Git配置

和手动在命令行执行git clone 再用IDEA 打开项目 效果是完全一样的

克隆完成后 IDEA会自动打开项目 还帮你初始化Git

之后也就是正常的git操作 支持图形化或者命令行


七、IDEA关联Gitee

Gitee需要先安装插件

如果很卡 可以参考2024.3版本idea无法安装插件问题解决

IDEA登录授权

Gitee可以用密码 就是登录Gitee网页的那个邮箱和密码

看到自己的用户名就是成功了

直接把本地的IDEA项目分享到Gitee

有可能是VCS 有可能是Git 找到这个share即可


后续的git操作 都和前面类似 比如下图的pull


支持图形化操作 也可以用命令行

另一种方式关联方式:clone

clone码云仓库到本地 克隆下来的项目就已经关联了 接下来的操作和之前一样

提醒:码云服务器在国内 HTTPS链接速度就够 可以不用SSH免密

把Github的仓库导入到Gitee

这是码云很实用的功能之一

如果GitHub上有个项目 直接下载/clone太慢 先导入到Gitee 再从Gitee下载 速度更快

具体步骤:

1.登录码云1点击右上角+号 选从GitHub/GitLab导入仓库

2.可以选择从URL导入 或者 导入Github的仓库

3.导入成功 就能从码云仓库快速下载这个项目了

八、可能出现的问题

pull一个Maven项目下来 main包的java是灰色的

问题原因是IDEA的环境设置等可能各不相同

正常Maven项目下面那个main包下面的java包是蓝色的(默认是Source Root)

pull下来的项目可能是灰色的 而且java文件可能有一个时钟的标志

解决方法:

选中该项目 做如下设置

如何删除一个文件

先删除本地文件(本地操作)

commit被删除文件的文件夹

最后可以push主分支 也可以push该文件夹

或者

IDEA没有远程的分支

可能出现如下问题

其实也就是把远程的分支再拉到本地仓库来(比如误删了本地仓库的某个分支 但是还没删远程的 )

从远程check out下来就行

相关推荐
星浩AI2 小时前
一个搞音乐的,用 AI 写了款编程工具DeepSeek TUI,本文就是它写的
github·agent·deepseek
展示猪肝2 小时前
Git 版本管理入门教程:命令行 + PyCharm + Gitee 远程仓库实战
git
周杰伦fans2 小时前
解决 Git 推送/拉取报错:Could not resolve host: gitee.com
git·gitee
GISer_Jing2 小时前
GitHub原生DevOps全链路实战:从代码提交到生产部署的自动化闭环
自动化·github·devops
阿里嘎多学长2 小时前
2026-05-08 GitHub 热点项目精选
开发语言·程序员·github·代码托管
小李云雾3 小时前
Git命令行总结与结合Pycharm的综合应用
git·pycharm
GISer_Jing3 小时前
全栈实战:分支管理到CI/CD全流程
运维·前端·ci/cd·github·devops
GISer_Jing4 小时前
GitHub Actions 完整 Token/Secret 配置详解(Vercel + Docker 2026最新版)
docker·容器·github