Git 使用指南(附详细解释)

news2024/11/24 22:49:57

Git 是一个强大的版本控制系统,广泛用于软件开发中,用于跟踪文件的更改、协作工作等。无论你是新手还是有经验的开发者,掌握 Git 都是非常有益的。这篇博客将带你了解 Git 的基本使用,希望能帮助你快速入门并有效使用 Git。

1. 创建和克隆仓库

初始化仓库

要在当前目录创建一个新的 Git 仓库,只需执行:

git init

执行后,当前目录下会生成一个 .git 目录,包含所有 Git 需要的数据和资源。

如果想指定一个新目录作为 Git 仓库,可以使用:

git init newrepo

这将在 newrepo 目录下创建 .git 目录。

添加和提交文件

要开始跟踪文件,使用 git add 命令:

git add *.c
git add README

这些命令添加所有 .c 文件和 README 文件到暂存区。然后,使用 git commit 提交这些文件:

git commit -m '初始化项目版本'

克隆现有仓库

如果需要复制或克隆现有的 Git 仓库,使用:

git clone <repo>

例如,要克隆远程 Git 仓库 Grit:

git clone git://github.com/schacon/grit.git

可以在命令后指定目录名,更改克隆的本地目录名:

git clone git://github.com/schacon/grit.git mygrit

2. Git 工作流

基本工作流

Git 的工作流程包括三个主要区域:工作目录、暂存区和 HEAD。

  • 工作目录:持有实际文件。
  • 暂存区:临时保存改动。
  • HEAD:指向最后一次提交的结果。

添加文件到暂存区:

git add <filename>
git add .

提交改动到仓库:

git commit -m "代码提交信息"

在这里插入图片描述

推送改动

将本地仓库的改动推送到远程仓库:

git push origin master

其中 master 可以替换为你想推送的任何分支。

3. 分支管理

创建与切换分支

查看所有分支:

git branch

创建新分支:

git branch new-feature

切换到新分支:

git checkout new-feature

或者创建并切换到新分支:

git checkout -b new-feature

合并分支

将更改从 new-feature 合并到 master 分支:

git checkout master
git merge new-feature

如果不再需要 new-feature 分支,可以将其删除:

git branch -d new-feature

4. 更新与合并

获取并合并远程仓库的改动到当前分支:

git pull

或者,如果只想获取远程分支的更新:

git fetch

然后合并到当前分支:

git merge origin/master

在这里插入图片描述

5. 实用小贴士

内建的图形化 Git

gitk

彩色的 Git 输出

git config color.ui true

显示历史记录的简洁格式

git config format.pretty oneline

交互式添加文件到暂存区

git add -i

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大数据】大数据的核心特征与挑战:Volume、Velocity、Variety、Veracity

目录 Volume&#xff1a;海量数据的挑战与机遇 挑战 技术挑战 机遇 Velocity&#xff1a;数据处理的速度与实时性 挑战 技术挑战 机遇 Variety&#xff1a;数据类型的多样性与复杂性 挑战 技术挑战 机遇 Veracity&#xff1a;数据的真实性与质量控制 挑战 技术挑…

《数字图像处理》实验报告四

一、实验任务与要求 对 Fig0403.tif 进行傅里叶变换并显示其频谱图像&#xff1b;fft2(x) 对 Fig0405.tif 图像进行填充和非填充的高斯滤波&#xff0c;并观察其不同&#xff1b;paddedsize&#xff0c;fft2&#xff08;x,m,n&#xff09; 由 sobel 空间滤波算子生成相应的频率…

A股3000点下方继续跳水,股民都跌懵了。

今天的A股跌懵了&#xff0c;让人几乎无法呼吸&#xff0c;盘面上出现2个重要信号&#xff0c;不废话&#xff0c;直接说重点&#xff1a; 1、今天两市又跳水了&#xff0c;但绝大多数的个股已经拒绝下跌&#xff0c;市场已然处于一个阶段底部&#xff0c;短线反弹随时可能出现…

找不到d3dcompiler_47.dll如何修复,这几种修复方法可搞定

最近&#xff0c;我在尝试运行一款游戏时遇到了一个问题&#xff0c;系统提示我丢失了d3dcompiler_47.dll文件。这让我感到非常困扰&#xff0c;因为这个问题导致我无法正常运行游戏。经过一番搜索和尝试&#xff0c;我找到了几种修复这个问题的方法&#xff0c;并成功解决了这…

k8s使用Endpoint将信息存储到集群外部数据库

https://mp.csdn.net/mp_blog/creation/editor/139864305 上一篇文章

01数字电子技术基础

第一节课&#xff1a;introduction 导论 决定了这门课的学习方法、学习内容、一个大概的把握、虽不是具体的技术&#xff0c;不是细节&#xff0c;但是这是一节思想 每门课都重要&#xff0c;但侧重点不同。 学习前人的思想和营养&#xff0c;为自己所用。 1.课程性质&#x…

贪心算法精品课 2024.6.21-24.6.25

0、贪心算法介绍 例三中的最优解为装两个2号物品&#xff0c;总价值为14。贪心算法鼠目寸光 解释&#xff1a;若某个位置的最优解为20元,那么10元的就一定不超过一张&#xff0c;否则两张10元就可以被一张20元代替&#xff0c;同理5元的最大张数为1&#xff0c;1元的最大张数为…

MYSQL十、MYSQL的存储过程和触发器的基本认识

存储过程 存储过程&#xff1a;存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合。调用存储过程可以简化应用开发人员的很多工作&#xff0c;减少数据在数据库和应用服务器之间的传输&#xff0c;对于提高数据处理的效率是有好处的。 存储过程思想上很简单&#xff…

springboot网上商城系统的设计与实现-计算机毕业设计源码08789

摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Java技术建设网上商城系统。 本设…

Selenium IED-控制已打开的Chrome浏览器

本文已收录于专栏 《自动化测试》 目录 背景介绍优势特点操作步骤总结提升 背景介绍 在我们进行自动化测试的过程中有时候会遇见一个很棘手的问题那就是登录的过程中需要图片验证码&#xff0c;图片验证码设计的初衷其实就是为了防自动化&#xff0c;防止一些人利用自动工具恶意…

蒙特卡洛算法简介及应用

文章目录 基础简介蒙特卡洛方法示例其他应用 基础简介 蒙特卡洛算法&#xff08;Monte Carlo Algorithm&#xff09;是一种基于随机抽样或统计试验的数值计算方法&#xff0c;用于求解各种数学问题&#xff0c;尤其是那些解析解难以获得或者是高维度的积分问题。这种方法的核心…

浏览器断点调试(用图说话)

浏览器断点调试&#xff08;用图说话&#xff09; 1、开发者工具2、添加断点3、查看变量值 浏览器断点调试 有时候我们需要在浏览器中查看 html页面的js中的变量值。1、开发者工具 打开浏览器的开发者工具 按F12 &#xff0c;没反应的话按FnF12 2、添加断点 3、查看变量值

手慢无!限量奶茶免费领,千元大奖组队赢!

&#x1f680; AI 卡片大作战全新启动&#xff01;&#xff01;&#x1f552; 限时两周&#xff0c;组队狂欢&#xff01;&#x1f46b; 邀请好友&#xff0c;解锁免费奶茶福利&#xff01;&#x1f4b0; 学习卡片&#xff0c;赢取 1888 超级现金大奖心动不如行动&#xff0c;快…

搜维尔科技:「研讨会」惯性动捕技术在工效学领域应用研讨会

Movella将于7月2日&#xff08;周二&#xff09;下午2点举行主题为惯性动捕技术在工效学领域应用的研讨会。来自Movella的伙伴赋能经理Jeffrey Muller作为嘉宾出席&#xff0c;届时主讲人将为大家带来Xsens惯性动捕技术在工效学领域的应用分享。同时&#xff0c;研讨会还邀请多…

C++编程(二)引用

文章目录 一、C中的引用&#xff08;一&#xff09;引用1. 语法格式2. 作用3. 注意事项 &#xff08;二&#xff09;常引用2. 其他场景 &#xff08;三&#xff09;引用和函数结合使用1. 引用可以作为函数的参数2. 引用可以作为函数的返回值 &#xff08;四&#xff09;引用和指…

用final和loombok来实现依赖注入

在Java中&#xff0c;RequiredArgsConstructor 是一个由 Lombok 库提供的注解&#xff0c;它能够自动为类生成一个构造函数&#xff0c;该构造函数包含所有被标记为 final 或者非 final 但在类中没有默认值的字段。这个注解特别适用于当你需要一个构造函数来初始化所有字段&…

Android 14 权限等级剖析

Android 14 权限等级剖析 Android 14 引入了新的权限等级&#xff0c;为应用程序访问敏感信息和功能提供了更细粒度的控制。了解这些新的权限等级及其应用场景对于开发人员至关重要。 1. 概述 Android 一直以来都使用权限机制来控制应用程序对系统资源和用户数据的访问。随着…

第三十篇——等价性:如何从等价信息里找答案?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 知道了等价性的逻辑&#xff0c;通过等价性去衡量事物&#xff0c;像是给…

如何验证Rust中的字符串变量在超出作用域时自动释放内存?

讲动人的故事,写懂人的代码 在公司内部的Rust培训课上,讲师贾克强比较了 Rust、Java 和 C++ 三种编程语言在变量越过作用域时自动释放堆内存的不同特性。 Rust 通过所有权系统和借用检查,实现了内存安全和自动管理,从而避免了大部分内存泄漏。Rust 自动管理标准库中数据类…

Vue3学习笔记<->开发环境安装

背景 公司开始做产品开发&#xff0c;前端就选择使用了vue&#xff0c;替换了传统的jsp。公司要求每个开发人员都要前后端都可以开发&#xff0c;于是就开始学习vue了。 安装环境 安装node.js node.js下载地址&#xff1a;node.js下载地址 安装&#xff1a;选在安装路径&…