Git安装基本配置

下载安装(一路next)

打开bash终端(git专用)

命令: git -v(查看版本号)

配置: 用户名和邮箱,应用在每次提交代码版本时表明自己身份

命令:

git config --global user.name "FT"

git config --global user.email "FT@163.com"

查看配置命令:

git config --list

Git工作区

Git仓库(repository):记录文件状态内容的地方,存储着修改记录

创建:

1、把本地文件夹装换成Git仓库: 命令 git init

2、从其他服务器上克隆Git仓库

Git的三个区域:

1、工作区: 实际开发时操作的文件夹

2、暂存区: 保存之前的准备区域(暂存改动过的文件)

3、版本区: 提交并保存暂存区中的内容,产生一个版本快照

命令作用
git add 文件名暂存指定文件
git add .暂存所有改动的文件
git commit -m '注释说明'提交并保存,产生版本快照

查看暂存区工作文件: git ls-files

Git文件状态:

Git文件2种状态:

命令: git status -s

1、未跟踪: 新文件,从未被Git管理过

2、已跟踪: Git已经知道和管理的文件

文件状态概念场景
未跟踪(U)从未被Git管理过新文件
新添加(A)第一次被Git暂存之前版本记录无此文件
未修改('')三个区域统一提交保存后
已修改(M)工作区内容变化修改了内容产生

Git暂存区使用:

暂存区: 暂时存储,可以临时恢复代码内容,与版本库解耦

暂存区 -> 覆盖 -> 工作区

命令: git restore 目标文件 (注意: 完全确认覆盖时使用)

从暂存区移除文件,命令: git rm --cached 目标文件

Git回退版本

概念: 把版本库某个版本对应的内容快照,恢复到工作区/暂存区

查看历史提交:

git log --oneline

git reflog -- oneline

回退命令:

git reset --soft 版本号 (保留暂存区和工作区内容)

git reset --hard 版本号 (不保留暂存区和工作区原本内容)

git reset --mixed 版本号(不保留暂存区,工作区保留(默认) 先覆盖到暂存区,再用暂存区对比覆盖工作区)

注意1: 只有记录在版本库的提交记录才能恢复

注意2: 回退后,继续修改->暂存->提交操作即可(产生新的提交记录过程)

删除文件

git 忽略文件

概念: .gitignore 文件可以让 git 彻底忽略跟踪指定文件

目的: 让 git 仓库更小更快,避免重复无意义的文件管理

分支

概念: 本质上是值向提交节点的可变指针。默认名字是 master

注意: HEAD指针影响工作区/暂存区的代码状态

场景: 开发新需求、修复Bug,保证主线代码随时可用,多人协同开发提交效率

例如:

1、在现有代码上创建新分支完成内容列表业务

2、突然需要紧急修复Bug - 单独创建分支解决BUg

例: 创建内容列表content分支,并产生提交记录

步骤:

1、创建分支命令: git branch 分支名 (git branch 命令可以查看所有分支)

2、切换分支命令: git checkout 分支名

3、工作区准备代码并暂存提交

其他命令:

1、创建分支并切换到创建的分支: git checkout -b 分支名

2、将本地的分支推送到远程仓库进行保存: git push -u origin 分支名 (origin gitHub中创建的仓库别名)

3、将本地的分支合并到本地的 master 分支:

git checkout master

git merge 分支名

4、删除本地的分支: git branch -d 分支名

注意: 提交记录的顺序按照产生的先后顺序排列,而非合并的先后顺序

分支 - 合并冲突

Git远程仓库

概念: 托管在网络或其他网络中你的项目版本库

作用: 保存版本库的历史记录,多人协作

创建: 公司自己服务器/第三方托管平台(Gitee,GitLab,GitHub...)

例: 需求: 创建远程版本库,并把本地Git仓库推送上去保存

步骤:

1、注册第三方托管平台网站账号

2、新建仓库得到远程仓库Git地址

3、本地Git仓库添加远程仓库原点地址

命令: git remote add 远程仓库别名 远程仓库地址

例: git remote add origin https://gitee.com/xxx/work.git

4、本地Git仓库推送版本记录到远程仓库

命令: git push -u 远程仓库别名 本地和远程分支名

例: git push -u origin master

完整写法: git push --set-upstream origin master:master

查看本地仓库中有哪些远程仓库的地址 git remote -v

删除远程仓库地址 git remote remove origin

拉取远程仓库: git pull origin master

强制拉取远程仓库: git pull --rebase origin master

Git 远程仓库-克隆

概念: 拷贝一个Git仓库到本地,进行使用

命令: git clone 远程仓库地址

例: git clone https://gitee.com/xxx/work.git

效果: 在运行命令所在文件夹, 生成wor项目文件夹(包含版本库,并映射到暂存区和工作区)

注意1: Git 本地仓库已经建立好和远程仓库的链接

注意2: 仓库公开随意克隆,推送需要身为仓库团队成员

Git常用命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/87873.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/87873.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/87873.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用井云平台把Coze工作流接入小程序/网站封装变现 | 详细步骤→

今天来看看怎么把Coze工作流接入井云生成你的专属网站/小程序! 当前已支持三大模块接入:✅ 工作流 ✅ 智能体 ✅ 外部网页 本文所用工具 1、扣子:www.coze.cn 2、井云智能体:jingyun.center 为什么选择井云平台? …

linux weston flutter remote desktop

参考:Outputs — weston 14.0.90 documentation Weston 14.0: DRM-backend, color management, and output mirroring Weston 14.0: DRM-backend, color management, and output mirroring 🖥️ 3. DRM 输出可镜像至远程输出(RDP、VNC、PipeWire) 这次更新还带来了一个…

GitHub Copilot 是什么,怎么使用

GitHub Copilot 是一个由 GitHub 和 OpenAI 联合开发的 AI 编程助手,它可以在你写代码的时候自动给出建议、补全代码,甚至生成整个函数或算法。它就像一个“聪明的副驾驶”,时刻在你旁边协助你写代码。 简单解释: GitHub Copilot …

Android系统及应用QUIC协议支持详解

QUIC协议在Android中的全面支持与实践指南 本文深入探讨QUIC协议在Android中的实现细节,涵盖基础原理、开发技巧、性能优化及前沿扩展,提供完整的Kotlin代码示例和工程实践指南。 1. QUIC协议核心优势 QUIC(Quick UDP Internet Connections&…

.NET基于类名约定的自动依赖注入完整指南

🚀 .NET基于类名约定的自动依赖注入完整指南 基于类名约定的自动依赖注入可大幅减少手动注册服务的工作量,本文将通过清晰的结构、美观的排版和丰富的示例,帮助你快速掌握这一实用技术。 🌈 核心特性概览 特性说明类名约定自动…

Redis各数据结构的详细使用和使用场景

Redis各数据结构的详细使用 大家好!今天我们来聊聊Redis这个强大的内存数据库。就像我们生活中的工具箱一样,Redis提供了多种"工具"(数据结构)来帮助我们解决不同的问题。有些工具像螺丝刀(字符串&#xff…

MSYS2 环境下 Python 开发配置(结合 PyCharm)使用笔记

【笔记】MSYS2 的 MinGW64 环境中正确安装 Python 相关环境管理工具 (Poetry、Virtualenv、Pipenv 和 UV)-CSDN博客 MSYS2 环境配置与 Python 项目依赖管理笔记_msys更新python-CSDN博客 【技术笔记】MSYS2 指定 Python 版本安装方案_pacman -u 安装指定…

Python爬虫实战:研究Splinter相关技术

1. 引言 1.1 研究背景与意义 随着 Web 2.0 技术的发展,现代网页越来越多地采用 JavaScript 动态生成内容。传统爬虫通过直接请求 HTML 页面的方式,无法获取这些动态渲染的内容,导致爬取数据不完整。据统计,全球前 1000 名网站中,超过 70% 的页面包含动态加载内容 。Spli…

大气商务工作汇报总结PPT模版分享

蓝色商务工作总结PPT模版,莫兰迪工作总结PPT模版,年中工作汇报PPT模版,简约工作汇报PPT模版,上半年工作总结PPT模版,极简工作汇报PPT模版,欧美简约PPT模版,大气商务通用PPT模版,团队…

5G modem开发

链接文章:https://zhuanlan.zhihu.com/p/709130546 OpenHarmony RIL架构 链接文章:https://blog.csdn.net/weixin_42571280/article/details/148566029 在移动通信设备中,无线接口层(Radio Interface Layer,简称RIL&…

Gartner《AI-Driven Methods for Cost-Efficiency》学习心得

一、背景介绍 在当前经济形势下,企业面临着成本上升与收入增长放缓的双重压力。Gartner 的这份报告指出,大多数企业对 AI 的投资主要集中在提升用户生产力方面,但短期内投资回报率有限。鉴于经济的不确定性以及成本压力,尤其是生成式 AI(GenAI)技术,若应用于财务效率和…

人脸识别技术是自动化还是智能化?

人脸识别技术兼具自动化与智能化的双重特性。它通过自动采集图像、预处理图像、提取特征以及进行识别比对等操作,实现了高效且无需人工干预的识别流程,展现出强大的自动化能力。同时,它还具备自适应学习能力,能够根据新的数据和场…

树结构的实际应用之堆排序

树结构的实际应用之堆排序 基本介绍 堆排序是利用堆这种数据结构设计而成的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度为O(logn),它也是不稳定排序。堆是具有以下性质的完全二叉树:…

用OBS Studio录制WAV音频,玩转语音克隆和文本转语音!

言简意赅的讲解OBS Studio解决的痛点 随着AI技术的快速发展,语音克隆与文本生成语音技术越来越受欢迎。无论你想要制作个人虚拟主播,还是给自媒体视频配音,拥有高质量的原始音频都是关键。本文详细教你使用免费且功能强大的软件——OBS Stud…

LangChain-5-agent

概述 Agent 是一种能够基于接收到的输入,利用自身的决策逻辑和可用的工具,动态地规划并执行一系列操作,以达成特定任务的程序或系统。它在与外界交互过程中,会根据实时情况灵活调整策略,而不是按照固定的预设流程执行…

操作系统进程与线程核心知识全览

本博客,根据王道所学。以下为第二章节知识点: 进程的概念、组成、状态与其转换、进程间通信、信号; 单/多线程模型、线程管理、调度时机的切换、调度的目标、调度算法、多处理机调度; 同步与互斥、进程互斥的软硬件实现方法、信号…

C++中类型转换操作符知识介绍

文章目录 **一、类型转换操作符的语法与定义****二、工作原理****三、示例:基本类型转换****四、示例:转换为自定义类型****五、与构造函数的对比****六、注意事项****七、应用场景****八、与 C 其他类型转换的关系****九、总结** 在C中,类型…

2048小游戏C++板来啦!

个人主页:PingdiGuo_guo 收录专栏:C干货专栏 大家好呀,我是PingdiGuo_guo,今天我们来学习如何用C编写一个2048小游戏。 文章目录 1.2048的规则 2.步骤实现 2.1: 初始化游戏界面 2.1.1知识点 2.1.2: 创建游戏界面 2.2: 随机…

TensorFlow深度学习实战——Transformer变体模型

TensorFlow深度学习实战——Transformer变体模型 0. 前言1. BERT2. GPT-23. GPT-34. Reformer5. BigBird6. Transformer-XL7. XLNet8. RoBERTa9. ALBERT10. StructBERT11. T5 和 MUM12. ELECTRA13. DeBERTa14. 进化 Transformer 和 MEENA15. LaMDA16. Switch Transformer17. RE…

还原自动驾驶的“前世今生”:用 Python 实现数据记录与回放系统

还原自动驾驶的“前世今生”:用 Python 实现数据记录与回放系统 你有没有想过这样一个场景: 一辆自动驾驶测试车,在街头拐了个弯,却突然急刹。测试员一脸懵,研发团队问:“数据记录了吗?” 他摊摊手:“系统当时没挂上录制……” 对不起,重测吧。 这不是段子,而是我在…