news 2026/9/2 23:15:20

轻松玩转Git:图文详解常用命令与操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
轻松玩转Git:图文详解常用命令与操作

Git简介

git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到很大的项目版本管理。

特点:

  • 速度快
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似Linux内核一样超大规模的项目(速度和数据量)

Git工作流程图

命令如下:

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

Git获取本地仓库

在任意一个文件夹中打开Git Bash窗口,然后输入git init并执行,出现.git隐藏文件则创建成功。

Git常用基础命令

文件忽略列表

一般我们总会有些文件无需纳入Git的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitignore 的文件(文件名称固定),列出要忽略的文件模式。

操作:

在工作目录下创建一个.gitignore文件,在里面写上无序Git管理的文件模式,例如:*.a就是以.a结尾的文件

基础操作:

1、add:添加工作区到暂存区

git add 文件名/通配符

2、commit:提交暂存区到本地仓库

git commit -m '注释内容'

3、status:查看修改的状态

git status

4、log:查看提交日志

git log 选项

  • –all:显示所有分支
  • –pretty=oneline:将提交信息显示为一行
  • –abbrev-commit:使得输出的commitld更简短
  • –graph:以图的形式显示
5、reflog:查看删除的日志

git reflog

可以看到已经删除的提交记录

6、reset:版本切换

git reset --hard commitid

commitid可以查看通过日志查看

**PS:**对于一些比较长的命令可以在~目录下创建一个.bashrc文件,在文件中定义命令的别名,例如:

aliasgit-log='git log --pretty=oneline --all --graph --abbrev-commit'aliasll='ls -al'

之后在你的工作目录下执行source ~/.bashrc

分支操作:

1、branch:查看/创建/删除本地分支

git branch

git branch 分支名

git branch -vv显示的更加详细,例如关联关系

不能删除当前分支,只能删除其他分支

git branch -d 其他分支名删除分支时,需要做各种检查

git branch -D 其他分支名删除分支时,不做任何检查,强制删除

2、checkout:切换分支

git checkout 分支名

git checkout -b 分支名创建并切换到一个不存在的分支

3、merge:合并分支

一个分支上的提交可以合并到领一个分支

git merge 分支名

合并冲突:

当两个分支对同一个文件的数据修改存在冲突时,需要手动处理冲突。

  1. 处理文件中冲突的地方
  2. 将解决完冲突的文件放到暂存区(add)
  3. 提交到仓库(commit)
分支应用流程:

Git远程仓库

使用远程仓库

1、remote:添加/查看远程仓库

git remote add <远端名称> <远程仓库路径>

远端名称默认是origin

示例:git remote add origin https://github.com/6moran/git_test.git

git remote查看远程仓库

git remote -v查看远程仓库,详细。

2、push:推送到远程仓库

git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名]]

如果远端分支名和本地分支名相同,只写本地分支名即可。

-f:强制覆盖

--set-upstream推送到远端的同时并且建立起和远端分支的关联关系(一般第一次推送时使用)

如果当前分支已经和远端分支关联,则可以省略分支名和远端名,直接git push将master分支推送到已关联的远端分支。

3、clone:从远程仓库克隆

git clone 仓库链接 [本地目录名称]

仓库链接如下:

4、fetch:从远程仓库抓取到本地,不会进行合并

git fetch [remote name] [branch name]

如果不指定远端名称,那么抓取所有分支。

5、pull:从远端仓库拉取到本地并自动合并

git pull [remote name] [branch name]

相当于fetch+merge

如果不指定远端名称和分支名,则拉取所有,并更新当前分支。

Git使用铁令

  • 切换分支前先提交本地的修改。
  • 代码及时提交,提交过了就不会丢。
  • 遇到任何问题都不要删除文件目录。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 6:32:41

从已读不回到薪资涨幅30%,这个AI简历优化太狠了

在 2026 年&#xff0c;薪资涨幅不再取决于你的“工龄”&#xff0c;而取决于你简历中[资产动词]的权重。 很多求职者发现&#xff0c;即使自己涨了本事&#xff0c;简历发出去依然是“已读不回”&#xff0c;或者 HR 给出的薪资涨幅极低。这是因为在招聘后台的 AI 筛选算法中&…

作者头像 李华
网站建设 2026/9/2 22:43:05

【计算机毕设】java-springboot+vue“漫画之家”系统毕业设计

&#x1f49f;博主&#xff1a;程序员小俊&#xff1a;CSDN作者、博客专家、全栈领域优质创作者 &#x1f49f;专注于计算机毕业设计&#xff0c;大数据、深度学习、Java、小程序、python、安卓等技术领域 &#x1f4f2;文章末尾获取源码数据库 &#x1f308;还有大家在毕设选题…

作者头像 李华
网站建设 2026/9/2 17:57:46

用户行为热点:登录峰值测试与优化

‌用户行为热点与登录峰值挑战在数字化时代&#xff0c;用户行为热点如促销活动、节假日或突发事件常引发登录峰值——即系统在短时间内承受高并发用户登录请求。对软件测试从业者而言&#xff0c;这不仅关乎系统稳定性&#xff0c;还直接影响用户体验和业务连续性。据统计&…

作者头像 李华
网站建设 2026/9/2 10:10:25

GNSS与单北斗变形监测技术的应用现状分析与未来发展方向

本文旨在分析GNSS变形监测一体机与单北斗变形监测系统的当前应用现状及未来的发展趋势。从技术特点到市场需求&#xff0c;单北斗变形监测已在基础设施管理中扮演重要角色。重点探讨了单北斗的原理&#xff0c;包括它在桥梁、大坝和地质灾害监测中的应用&#xff0c;及其提供的…

作者头像 李华
网站建设 2026/9/2 18:07:57

【swiftUI】实现智能可收缩日历(单行/全月切换)

一、 核心特性 智能显示模式&#xff1a;收起状态--仅显示当前日期所在的整周&#xff08;7天&#xff09;&#xff1b;展开状态--显示完整月份的日历网格&#xff1b;平滑的动画过渡效果 数据一致性&#xff1a;始终显示当前月份的数据&#xff1b;收起时自动定位到当前周&am…

作者头像 李华
网站建设 2026/9/2 23:11:29

MemOS开源框架实战:构建基于Graph的记忆图谱,让AI具备长期记忆能力

MemOS是一款基于Graph的记忆开源项目&#xff0c;通过TreeTextMemory实现结构化记忆存储与关联。本文详细介绍了如何在LangChain1.x框架中集成MemOS的记忆图谱能力&#xff0c;包括构建带记忆的ChatBot、体验记忆的自动重组功能&#xff0c;以及通过Middleware机制实现无侵入式…

作者头像 李华