文章目录
- Git常用命令的学习
-
- [1️⃣ 前言](#1️⃣ 前言)
- 2️⃣说明
- 3️⃣常见命令
-
- 1.设置用户信息
- 2.为常见指令设置别名(可选)
- 3.获取本地仓库
- 4.基础操作指令
- [⚠️ 注意事项](#⚠️ 注意事项)
- 5.版本回退
- 4️⃣分支
- 5️⃣Git远程仓库
- 6️⃣解决远端代码合并的冲突
- 7️⃣怎么在IDEA里使用Git(实践)
-
- [1 1 1.在IDEA里配置git](#1 1 1.在IDEA里配置git)
- [2 2 2.从远程仓库克隆项目](#2 2 2.从远程仓库克隆项目)
- [3 3 3.日常开发常用操作](#3 3 3.日常开发常用操作)
- 8️⃣.总结一下
Git常用命令的学习
本笔记基于本人学习所写,手把手展示
git命令的实施和远程仓库搭建
1️⃣ 前言
版本控制分类
1. 集中式版本控制
代表工具:SVN、CVS
特点:版本数据统一存放在中央服务器,本地无完整版本备份,联网依赖强,中央服务器故障会影响所有开发者。
2.分布式版本控制
代表工具:Git
特点:每个本地仓库都是完整版本备份,无需全程联网,安全性高、速度快、分支管理灵活 ,是目前主流版本控制工具。
2️⃣说明
在git Bash中写的git命令,会涉及到一些linux命令,大概有以下几个要掌握:
ls/ll查看当前目录cat查看文件内容touch创建文件vi指vi编辑器(方便展示效果)
3️⃣常见命令
注:
Git GUI: Git提供的图形界面工具Git Bash: Git提供的命令行工具
1.设置用户信息
git config --global user.name设置用户名git config --global user.email设置邮箱
2.为常见指令设置别名(可选)
因为有些常用的指令参数分别多,每次都要输入好多参数,我们可以使用别名
1.打开用户目录,创建.bashrc 文件
由于部分windows 系统不允许用户创建点号开头的文件,可以打开gitBash 执行命令创建
即$ touch ~/.bashrc 命令 (~就表示当前用户文件的根目录)
即创建了一下文件:

2.如果是在桌面创建一个就是$ touch .bashrc命令
3.创建了文件后,我们可以学习去输入一些内容,比如在我们刚刚创建的.bashrc 文件中写入内容
# 用于输出git提交日志
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
# 用于输出当前目录所有文件及其基本信息
alias ll='ls -al'
注:如果文件乱码咋办?
- 打开GitBash 执行一下命令
git config --global core.quotepath false
- 如果你的
git安装目录有过修改要找到你的安装目录,找到下面的文件
$(git_home)/etc/bash.bashrc 以下目录的这个文件并在文件最后加入一下两行
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
3.获取本地仓库
由于我们要使用git 对我们的代码进行版本控制,首先要获得本地仓库
-
在电脑的任意位置建立一个空目录作为我们的本地
git仓库 -
在这个目录中,点击右键打开我们的
Git bash窗口并执行git init命令(初始化当前目录为一个git仓库)即如下图:

- 注:如果创建成功了,就可以在文件夹下看到隐藏的
git目录(当然,因为之前我们都在桌面进行指令的操作,所以.git会被创建在桌面上,但是还是建议放在其他盘中)
4.基础操作指令
如何利用命令来控制这些状态之间的转换:
git add(由工作区 ---> 暂存区)git commit(暂存区 ---> 本地仓库)
1.查看文件的状态:
git status,示意如下图:

2.再把它放回来(git commit -m "注释内容"),示意图如下:

3.如果要看历史用git log , 示意图如下:

这样就可以查看仓库的修改历史了,当然我们还可以限制条件:
- 命令形式:
git log [option]- options
--all显示所有分支--pretty=oneline将提交信息显示为一行--abbrev-commit使得输出的commitld 更加简洁--graph以图的形式展示--decorate打开参数
- options
4.要修改文件,流程如下:
就要利用编辑器,比如这里使用vi 编辑器输入vi file01.txt 的指令,就可以对文件进行修改,先按Esc ,然后按Shift +冒号,最后在光标出输入wq 再回车就可以返回了, (注:每次要修改文件要先输入i 然后才能修改的),此时文件在工作区 ,再输入git add. 再把它放到缓存区。
⚠️ 注意事项
1 1 1.慎用 git add . :该命令会暂存所有修改,可能将敏感文件(如密钥、配置文件)意外纳入版本控制。务必配合 .gitignore 文件忽略不需要跟踪的文件。
2 2 2.提交前检查:养成执行 git status 查看暂存区内容的习惯,确认只有目标文件被暂存再提交,避免将日志、临时文件 等一并提交。
3 3 3.暂存区内容及时清理:如果暂存了错误文件,可通过 git reset HEAD <file> 从暂存区移除,但文件修改仍保留在工作区。
5.版本回退
我们要对版本进行切换,用git reset --hard commitID
- commitID可以使用
git-log或者git log查看 - 如果要查看已经被删除的记录可以输入
git reflog,在尝试的时候可以先clear清空日志再输入上面那个指令进行查看
示意图如下:

4️⃣分支
分支是什么
分支即就是git log 后的日志里的HEAD -> master 中的master就是分支,示意图如下:

建立分支的目的
使用分支可以把工作主线上分离开来进行重大的bug修改,开发新的功能,以免影响主线开发,通俗点来说就是搞副业的同时不影响主业,每个人的副业会不影响,所以
关于分支的常见命令
1 1 1.查看本地分支:
git branch
2 2 2.创建本地分支:
git branch 分支名
3 3 3.切换到其他分支:
git checkout 分支名
支持切换到一个不存在的分支即为创建并切换:
git checkout -b 分支名
4 4 4.合并两个分支(merge)
即一个分支上的提交可以合并到另一分支
git merge 分支名称
解决本地代码冲突的问题:
如果两个分支都有一个XXX.txt 文件,而文件里的内容不一样,那么在合并的时候就会有冲突,这样git就会被冲突抛给发号指令的人,有作者来解决该问题,再打开该文件时,会显示:
<<<<<<< HEAD
count=1 表示某个分支里的XXX.txt里的内容
=======
count=2 表示另一个分支里的XXX.txt里的内容
>>>>>>> 被合并进来的分支名
在这里只要将count的值统一改为您需要的样子即可,具体过程如下:
1.打开冲突文件,删除Git自动生成的冲突标记(<<<、=====、>>>)
2.手动保留需要的代码(保留master代码 / 保留分支代码 / 合并两处代码)
3.修改完成后,执行 git add . 暂存
4.执行 git commit -m "解决分支合并冲突" 提交到仓库,冲突解决
5 5 5.删除分支
注:不能删除当前分支,只能删除其他分支
git branch -d b1表示删除分支时需要做各种检查git branch -D b1不做任何检查,就直接强制删除
补充:一般来说是-d删除不了的才用-D
分支在开发中使用的原则和流程(了解)
HEAD:指针,始终指向当前正在使用的分支,同一时间仅指向一个分支。
分支规范:master(主分支)→ develop(开发分支)→ feature(功能分支),bug修复从主分支拉取分支,修复完成合并回主分支。
在开发中,一般有以下规范:
master(生产)分支
一般来说只有基于该分支的代码才能在电脑服务器里部署。
develop(开发) 分支
该分支是从master 创建的分支,一般为开发部门的主要开发分支,就是说如果没有其他并行开发不同期上线要求,都可以用该版本进行开发,在阶段开发完成以后,再合并到master分支上然后部署到服务器上。
-
feature分支该分支是从
develop创建的分支,一般是同期并行开发,但不同期上线创建的分支,分支上的研发任务完成后再合并到develop分支上。
5️⃣Git远程仓库
一般来说要创立远程仓库,就要借助物联网上的一些代码托管服务来实现,比较常见的有:
gitHub地址是:gitHub ,这是一个面向开源及私有的软件项目的托管平台,因为只支持Git作为唯一 版本库格式进行托管,所以叫做gitHub。码云地址是: 码云 ,因为它的服务器在国内,是属于国内的代码托管平台,相比于gitHub,码云的网络速度更快。GitLab地址是: GitLab ,这是一个基于仓库管理系统的开源项目,它使用Git作为代码管理工具,并在此基础上搭建起来的web服务,一般用于企业,学校等内部网络搭建git私服。
在这里以码云为例:
-
首先先要注册好一个账号
-
在
git中免密连接远程仓库一般就要SSH公钥配置,这样就可以配置后后续拉取、推送代码无需重复输入账号密码,过程如下:1 1 1.生成公钥:
ssh-keygen -t rsa(全程回车默认配置)2 2 2.查看公钥:
cat ~/.ssh/id_rsa.pub3 3 3.复制全部公钥内容,粘贴到
Gitee/GitHub个人SSH公钥配置中4 4 4.验证配置:
ssh -T git@gitee.com,提示成功即配置完成
具体过程如下:

- 把本地仓库推到远程仓库,在
git输入指令git remote add origin+你的远程仓库地址(origin是默认名字) git remote:查看已关联的远程仓库git branch -vv:查看本地分支与远程分支的绑定关联关系git push origin master:将本地master分支代码推送到远程仓库git push --set-upstream origin master:master:绑定本地与远程master分支,绑定后可直接使用git push推送git push -f:强制覆盖远程仓库代码(谨慎使用,易丢失远程代码)
从远程仓库克隆,抓取,拉取
git clone远程仓库SSH地址:克隆远程仓库到本地(首次拉取项目使用,仅一次)git fetch[remote name][branch name]:抓取远程仓库最新代码,不自动合并本地分支, 如果不指定远端名称和分支名,则抓取所有分支git pull[remote name][branch name]:拉取远程代码并自动合并本地分支(等价于fetch + merge)
总结本节重点内容
1.将本地修改推送至远程仓库,比如我新建一个.txt,流程如下:
1️⃣.在本地新建一个文件:touch file01.txt
2️⃣.将修改内容加入暂存区并提交至本地仓库,提交的记录内容为:add file01:
git add.
git commit -m 'add file01'
3️⃣.最后将本地的修改同步至远程仓库:
git push origin master
2.将远程仓库的修改拉取至本地
1️⃣.先输入指令,指令为:git pull
2️⃣.再查看日志显示提交记录:git log
6️⃣解决远端代码合并的冲突
-
冲突发生的场景 : 在同一时间段内,两个用户(设为A和B )修改了同一个文件,且修改了同一行位置的代码,此时会发生合并冲突 ,示意图如下:

-
解决办法 :与本地分支冲突解决方式一致:手动修改冲突文件 → 整理代码 →
git add .暂存 →git commit提交,完成冲突修复。
7️⃣怎么在IDEA里使用Git(实践)
1 1 1.在IDEA里配置git
- 在编译器里点击
File → Settings,在搜索框里搜索git,找到Version Control选项下面的Git。 - 点击
Test按钮,如果能显示 Git 版本号(如git version 2.42.0),说明 IDEA 已自动识别 Git 路径。 - 如果没有自动识别,手动选择 Git 安装目录下的
git.exe(Windows)或/usr/local/bin/git(Mac/Linux)。 - 配置完成后点击
Apply→OK保存。
2 2 2.从远程仓库克隆项目
- 在 IDEA 欢迎界面点击
Get from VCS,或在顶部菜单栏File → New → Project from Version Control → Git。 - 在
URL输入框中粘贴远程仓库地址(如https://gitee.com/meng-yunxiao/git_test.git)。 - 选择本地存放目录,点击
Clone,IDEA 会自动拉取项目并打开。
3 3 3.日常开发常用操作
-
提交上传代码
- 修改代码后,点击左侧
Commit按钮(或按Ctrl + K/Cmd + K)。 - 勾选要提交的文件,填写提交信息。
- 点击
Commit仅本地提交,或Commit and Push提交并推送。
- 修改代码后,点击左侧
-
推送代码到远程
- 点击顶部菜单
Git → Push(或按Ctrl + Shift + K/Cmd + Shift + K)。 - 确认推送目标分支(如
origin/master),点击Push。
- 点击顶部菜单
-
拉取远程最新的代码
- 点击
Git → Pull(或按Ctrl + T/Cmd + T)。 - 选择远程分支(如
origin/master),点击Pull。
- 点击
-
查看提交历史
- 右键点击项目根目录 →
Git → Show History。 - 或点击底部
Version Control窗口 →Log选项卡,查看所有提交记录。
- 右键点击项目根目录 →
-
分支的管理
-
创建分支:
- 点击 IDEA 右下角当前分支名(如
master),弹出分支管理菜单。 - 点击
New Branch,输入分支名(如feature-login),点击Create。
- 点击 IDEA 右下角当前分支名(如
-
切换分支
- 点击右下角分支名,在弹出列表中选择要切换的分支,点击
Checkout。
- 点击右下角分支名,在弹出列表中选择要切换的分支,点击
-
合并分支
-
先切换到目标分支(如
master),点击Git → Merge Changes。 -
选择要合并的源分支(如
feature-login),点击Merge。 -
如果有冲突,会弹出冲突解决窗口,解决冲突的方法如下:
1️⃣. IDEA 会列出所有冲突文件,双击打开某个文件。 2️⃣. 界面会分三栏: 左边:你的本地修改(Current) 中间:合并结果(Result),可以手动编辑 右边:远程传入的修改(Incoming) 3️⃣. 点击 >> 或 << 按钮将某处修改应用到结果区。 4️⃣. 也可以直接在中栏手动删除冲突标记(<<<<、====、>>>>)并保留需要的代码。 5️⃣. 所有冲突处理完后,点击 `Apply`。 6️⃣.最后执行 Commit 提交合并结果。
-
-
删除分支
- 点击右下角分支名,选择要删除的分支,点击
Delete。
- 点击右下角分支名,选择要删除的分支,点击
-
8️⃣.总结一下
核心知识点回顾
| 模块 | 核心内容 | 关键命令/操作 |
|---|---|---|
| 基础命令 | 版本库初始化、文件状态管理、提交历史查看 | git init、git add、git commit、git log |
| 版本回退 | 任意切换历史版本,找回误删记录 | git reset --hard commitID、git reflog |
| 分支管理 | 创建、切换、合并、删除分支,并行开发 | git branch、git checkout、git merge |
| 冲突解决 | 本地冲突与远程冲突的修复流程 | 手动编辑冲突文件 → git add → git commit |
| 远程仓库 | SSH 免密配置、推送/拉取、克隆仓库 | git push、git pull、git clone、git remote |
| IDEA 集成 | Git 可视化操作,图形化解决冲突 | 菜单栏操作、快捷键 |
思维导图
