当前位置: 首页 > java >正文

快速上手git

Git 是当前最流行的 ​​分布式版本控制系统​​(DVCS),它的核心作用是 ​​高效管理代码和文件的变更历史​​,适用于个人开发者和团队协作。以下是 Git 的主要用途和优势:


​1. 代码版本控制(核心功能)​

  • ​记录每一次修改​​:保存代码的完整历史,可回溯到任意版本。

  • ​防止代码丢失​​:误删文件或改错代码时,可快速恢复。

  • ​分支管理​​:支持并行开发(如新功能、Bug修复),避免代码冲突。

# 查看提交历史
git log --oneline# 回退到指定版本
git reset --hard <commit-id>

2. 团队协作开发​

  • ​多人并行工作​​:不同开发者可在各自分支开发,最后合并。

  • ​代码审查​​:通过 Pull Request/Merge Request 机制讨论修改。

  • ​解决冲突​​:当多人修改同一文件时,Git 会提示冲突并协助解决。

# 同步远程代码
git pull origin main# 提交本地修改
git add .
git commit -m "fix: 修复登录Bug"
git push origin feature/login

3. 开源项目参与​

  • ​Fork & Clone​​:复制他人项目到自己的账户,修改后提交贡献(如GitHub的PR)。

  • ​跟踪上游更新​​:保持与原始项目的同步。

# 克隆开源项目
git clone https://github.com/username/project.git# 添加原始项目为远程源
git remote add upstream https://github.com/original/project.git

4.非代码文件管理​

  • ​文档版本控制​​:Markdown、设计稿、配置文件等均可纳入Git管理。

  • ​大型文件支持​​:通过 Git LFS(大文件存储)管理二进制文件(如视频、图片)。

5.个人工作流优化​

  • ​草稿保存​​:用分支临时保存未完成的代码。

  • ​实验性功能​​:创建单独分支测试新想法,失败可随时丢弃

# 临时存储未完成的修改
git stash# 创建实验分支
git checkout -b experiment

Git 核心优势​

​特性​

​说明​

分布式

每个开发者拥有完整仓库,不依赖中央服务器

速度快

本地操作(如提交、分支切换)毫秒级响应

数据完整性

通过SHA-1哈希保证内容不可篡改

免费开源

无商业限制,全平台支持(Linux/macOS/Windows)

Git 下载链接
官方地址:https://git-scm.com/
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

安装打开后:

命令一:git init 初始化一个仓库

在这里插入图片描述

执行此命令时会生成一个.git的目录
在这里插入图片描述

命令二:git add 文件名 到暂存区

git add . 把所有的修改了的提交到暂存区
没有任何提示,说明已经提交成功
在这里插入图片描述

命令三:git status 查看目前的状态

在这里插入图片描述

此时存在modified 说明有修改

命令四:git diff 文件名 更改 某个文档后 对比两个文档的差异

命令五:git commit 提交

git commit -m ”xxx“ 提交并且有注释”
在这里插入图片描述

命令六:git log 查日志 显示每次更新时的评论 即 git commit -m " abc" 中的abc

在这里插入图片描述

命令七:git reset --hard HEAD 回退到上一次的修改

在这里插入图片描述

(1)当加参数–hard时
此时不但将本地的HEAD指针指向了上一个版本,重置了暂存区的内容,而且还修改重置了本地工作区的内容。
(2)不加hard时
不加–hard,只执行git reset <节点id>,只是将git仓库中的节点进行了回退,将HEAD指向了上一个版本,此时主要用于自己代码的增量提交等。

命令八:cat filename 显示所有文件

cat readme.txt 查看readme.txt
在这里插入图片描述

命令九:git reflog

显示所有的 涉及 到的版本号
可以回滚的时候使用
在这里插入图片描述

命令十:根据版本号回滚 版本号来自git reflog

git reset --hard 版本号
在这里插入图片描述

命令十一:git restore – readme.txt
撤销工作区的修改 对于暂存区 本地仓库不起作用

命令十二:git rm b.txt 删除文件
将文件从暂存区和工作区(工作区也会删除)中删除,比如.pyc文件,之前没有写到.gitignore中,后面添加的,因此也需要将暂存区的文件删除。

http://www.xdnf.cn/news/15825.html

相关文章:

  • LINUX入门(二)QT的安装及运行环境搭建
  • 【实习总结】Qt中如何使用QSettings操作.ini配置文件
  • Vue中组件的生命周期
  • 08_Opencv_基本图形绘制
  • Docker实战:使用Docker部署envlinks极简个人导航页
  • 激光雷达和相机在线标定
  • [C/C++安全编程]_[中级]_[如何安全使用循环语句]
  • 语言学校为何成为IT润日路径的制度跳板?签证与迁移结构的工程化拆解
  • 交通出行大前端与 AI 融合:智能导航与出行预测
  • 智能制造——48页毕马威:汽车营销与研发数字化研究【附全文阅读】
  • jxORM--编程指南
  • linux + 宝塔面板 部署 django网站 启动方式:uwsgi 和gunicorn如何选择 ?
  • windows命令提示符cmd使用
  • Django接口自动化平台实现(四)
  • 第 30 场 蓝桥·算法入门赛 题解
  • 制作mac 系统U盘
  • 零基础学习性能测试第一章-为什么会有性能问题
  • 全面解析 JDK 提供的 JVM 诊断与故障处理工具
  • VSCode使用Jupyter完整指南配置机器学习环境
  • 秒赤Haproxy配置算法
  • `TransportService` 是 **Elasticsearch 传输层的“中枢路由器”**
  • SparseTSF:用 1000 个参数进行长序列预测建模
  • RabbitMQ面试精讲 Day 4:Queue属性与消息特性
  • Java拓扑排序:2115 从给定原材料中找到所有可以做出的菜
  • LWJGL教程(2)——游戏循环
  • 网络(HTTP)
  • 【实战1】手写字识别 Pytoch(更新中)
  • 【no vue no bug】 npm : 无法加载文件 D:\software\nodeJS\node22\npm.ps1
  • 嵌入式硬件篇---舵机(示波器)
  • 小架构step系列20:请求和响应的扩展点