学会使用Git,看这一篇文章就够了

news2024/11/23 11:30:54

文章目录

  • 一、背景
  • 二、Git的安装
    • 2.1 Windows下安装Git:
      • 下载安装包
      • 安装Git
      • 配置Git
    • 2.2 Linux下安装Git:
      • 更新系统
      • 安装Git
      • 配置Git
  • 三、Git 基本使用
    • 3.1 初始化 Git 仓库
    • 3.2添加文件
    • 3.3 提交代码
    • 3.4 查看历史记录
    • 3.5创建分支
    • 3.6 修改文件
    • 3.7 查看文件状态
    • 3.8 将修改添加到暂存区
    • 3.9 撤销修改
    • 3.10 提交修改
    • 3.11 切换分支
    • 3.12 合并分支
    • 3.13 拉取代码
    • 3.14推送代码
    • 3.15 克隆代码
  • 四、常用的50个Git命令
    • 总结


一、背景

Git 是一个非常流行的分布式版本控制系统。它被广泛应用在各种软件开发项目中,包括操作系统、编程语言、框架、网站等等。

使用 Git 作为版本控制系统,可以帮助我们管理项目的历史记录,并且方便地回溯到任意一个时间点的代码状态。同时,它还可以让多人协同开发同一个项目变得更加容易和高效。

下面结合一个具体项目,介绍 Git 的常用命令及使用方法,希望能够帮助大家更好地理解和掌握 Git 的使用。
在这里插入图片描述

二、Git的安装

2.1 Windows下安装Git:

下载安装包

从官网 https://git-scm.com/downloads 下载适合你系统的 Git 安装包。

安装Git

双击下载好的安装包,按照默认选项安装即可。

配置Git

安装完成后,在命令行终端输入以下命令,配置您的用户名和邮箱:

$ git config --global user.name "Your Name" $ git config --global user.email "youremail@example.com"

2.2 Linux下安装Git:

更新系统

首先需要更新一下系统:

sudo apt-get update

安装Git

在终端输入以下命令来安装 Git:

sudo apt-get install git

配置Git

安装完成后,在终端输入以下命令,配置您的用户名和邮箱:

$ git config --global user.name "Your Name" $ git config --global user.email "youremail@example.com"

完成以上步骤后,就可以开始使用Git了。

三、Git 基本使用

3.1 初始化 Git 仓库

在项目目录下执行以下命令,将其初始化为 Git 仓库:

git init

3.2添加文件

我们新建了一个 index.html 文件作为应用的首页,在 Git 中添加该文件:

git add index.html

3.3 提交代码

添加文件后,我们需要将代码提交到 Git 仓库:

git commit -m "add index.html"

-m 参数表示对提交进行简短的说明。

3.4 查看历史记录

我们可以通过以下命令来查看项目的提交历史:

git log

3.5创建分支

在开发过程中,为了避免主分支上的代码被影响,我们通常会创建其他分支进行开发。创建并切换到一个新的分支可以使用以下命令:

git checkout -b feature-foo

这里我们创建了一个名为 feature-foo 的分支。

3.6 修改文件

我们在 index.html 文件中添加了一些文本,表示当前处于投票期间。

3.7 查看文件状态

我们可以通过以下命令查看当前文件的状态:

git status

3.8 将修改添加到暂存区

我们可以使用以下命令将修改添加至暂存区:

git add index.html

3.9 撤销修改

如果我们意外地修改了某个文件,想要回退到上一个版本。我们可以使用以下命令进行撤销:

git checkout -- index.html

3.10 提交修改

我们将修改提交到 Git 仓库:

git commit -m "update index.html"

3.11 切换分支

我们需要切换回主分支进行后续开发:

git checkout master

3.12 合并分支

我们完成了 feature-foo 分支的开发,需要将其合并到主分支:

git merge feature-foo

3.13 拉取代码

如果在多人协作的情况下,其他人对代码进行了修改,我们需要拉取最新的代码:

git pull

3.14推送代码

我们将本地代码推送到远程 Git 仓库:

git push origin master

3.15 克隆代码

如果我们需要在另外一台设备上使用 Git 来协作开发,我们可以使用以下命令来克隆远程 Git 仓库到本地:

git clone https://github.com/your_username/example.git

四、常用的50个Git命令

  1. git init:在当前目录中初始化Git仓库。
  2. git clone:从远程服务器克隆存储库。
  3. git add:将更改添加到“暂存区”。
  4. git commit:将暂存的更改提交到存储库。
  5. git status:查看当前仓库的状态(未跟踪,暂存等)。
  6. git branch:列出本地分支。
  7. git checkout:切换分支或还原文件。
  8. git merge:将一个分支合并到当前分支。
  9. git pull:从远程存储库拉取更改。
  10. git push:将本地分支推送到远程存储库。
  11. git fetch:从远程存储库获取更改,但不合并到本地分支。
  12. git log:查看提交历史记录。
  13. git diff:比较两个文件之间的差异。
  14. git stash:将更改保存到暂存区,以便稍后恢复。
  15. git remote:管理远程存储库。
  16. git tag:打标签,并指定一个特定的提交。
  17. git revert:撤消一个提交。
  18. git reset:重置当前分支到一个特定的提交。
  19. git rebase:将当前分支变基于另一个分支。
  20. git cherry-pick:选择一个或多个提交并将其应用到当前分支中。
  21. git log --oneline:以一行的形式显示提交记录。
  22. git log -p:以补丁的形式显示提交的更改差异。
  23. git log --author:按作者过滤提交记录。
  24. git log --grep:按提交消息过滤提交记录。
  25. git branch -v:显示每个本地分支的最后一次提交。
  26. git branch --merged:列出已合并到当前分支的分支。
  27. git branch --no-merged:列出未合并到当前分支的分支。
  28. git push origin --delete :删除远程存储库中的分支。
  29. git config:设置或查看Git配置。
  30. git blame:查看文件的每一行修改是由谁提交的。
  31. git grep:在项目中搜索文本。
  32. git rm:从Git中删除文件。
  33. git mv:移动或重命名文件。
  34. git diff --cached:比较暂存区和上一次提交之间的差异。
  35. git remote add:添加远程存储库。
  36. git remote remove:删除远程存储库。
  37. git remote rename:重命名远程存储库。
  38. git remote set-url:更改远程存储库的URL。
  39. git mergetool:使用指定的合并工具解决合并冲突。
  40. git bisect:二分搜索查找引入错误的提交。
  41. git archive:将Git存储库打包为归档文件。
  42. git submodules:管理Git子模块。
  43. git log --graph:显示提交历史记录的图形表示。
  44. git log --abbrev-commit:仅显示部分提交ID。
  45. git log --since:查看指定日期之后的提交。
  46. git log --until:查看指定日期之前的提交。
  47. git remote prune:删除远程分支与本地不同名的远程分支。
  48. git fetch --prune:从远程存储库获取更改,并清除本地不存在的远程分支。
  49. git reflog:查看仓库的引用日志。
  50. git grep -n:查找文本,并显示行号。

总结

以上是 Git 的简介绍和常用命令说明。希望这篇文章能够帮助初学者更好地理解和掌握 Git 的使用。Git 在代码管理中是一个非常重要的工具,尤其是在多人协作的情况下。因此,掌握好这些基本命令是非常有必要的。更多精彩,即将到来,感谢大家支持。

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

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

相关文章

【实用工具】JSR-269 插入式注解处理器AbstractProcessor

JSR-269原理浅析 初次使用lombok时,都需要在idea安装lombok插件,这让我们怀疑lombok的实现是通过提供自己的编译器实现的,然而实际情况并非如此,在脱离idea使用javac编译时,只要类路径有lombok的jar包,项目…

Android-源码分析-分析手机热点里的AP Band(频段)被隐藏/置灰的原因?

本博文记录寻找手机热点中AP Band(频段)被隐藏/置灰的原因,相似问题同理去查找解决。 先放上一张MTK平台手机-热点-AP Band界面效果图: 很明显,界面中的AP Band选项变灰,无法点击编辑修改内容,如果是AP Band 被隐藏或…

C#,生信软件实践(01)——DNA序列数据库FASTA文件合并工具的源代码

1 生物信息学简介 生物信息学(BioInformatics)是研究生物信息的采集、处理、存储、传播,分析和解释等各方面的学科,也是随着生命科学和计算机科学的迅猛发展,生命科学和计算机科学相结合形成的一门新学科。它通过综合…

JavaWeb ( 四 ) JavaEE

2.JavaEE 2.1.Java版本 J2SE : 适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE) J2EE : 适用于创建服务器应用程序和服务的Java 2平台企业版(Java 2 Platform Enterprise Edition,J2EE&a…

学企业管理

工业社会的代表产品是交通运输设备,如火车/高铁、汽车、飞机/火箭、船舶/航母,其核心是发动机。信息社会的代表产品是计算设备,如大型机小型机、工作站/PC台式机电脑/PC笔记本电脑/PC平板电脑、智能手机。 汽车这个产品,既属于高精…

调试别人的API,一般有哪些步骤?

当我们使用了一些由别人实现的API接口时,该如何进行调试呢?当我们使用的API返回一些意想不到错误时,该怎么办呢?这个问题可能是由于用户输入或者API本身,或者其他完全无关的内容等引起的。调试是我们进行定位并修复由单个API调用…

漫天花雨HTML特效+3D相册

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

软件工程期末复习(背题家速成)

文章目录 前言一、选择题1、第一章 软件工程综述2、第二章 软件过程3、第三章 可行性研究4、第四章 结构化需求分析5、第五章 结构化软件设计6、第六章 面向对象的需求分析7、第七章 第7章面向对象设计8、第八章 基于构件的开发9、第九章 软件项目的测试10、第十章 软件实施、维…

每天一道算法练习题--Day2 第一章 --算法专题 --- ----------位运算

我这里总结了几道位运算的题目分享给大家,分别是 136 和 137, 260 和 645, 总共加起来四道题。 四道题全部都是位运算的套路,如果你想练习位运算的话,不要错过哦~~ 前菜 开始之前我们先了解下…

Umi 插件实战教程

引言 笔者最近开发了一款 umi 插件:plugin-umi-cmdk[1],该插件的功能主要是:在 umi 项目里可以方便的集成 cmd k ,实现菜单等搜索。 主体功能并不复杂,但是在集成作为 umi 插件过程中踩了不少坑,主要是 umi 官方文档的…

【计算机网络】面试高频问题汇总及详细解答

【C语言部分】面试高频问题汇总及详细解答 【操作系统(Linux)】面试高频问题汇总及详细解答 【数据库】面试高频问题汇总及详细解答 本文目录 1. 简述网络七层参考模型及每一层的作用2. 简述静态路由和动态路由3. 说说有哪些路由协议,都是如何更新的4. 简述域名解析…

PostgreSQL Explain 复杂执行计划怎么看 --- 逐个分解PG执行计划的那些操作

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

Codeforces-Round-805-Div-3-E-Split-Into-Two-Sets

title: Codeforces Round 805 (Div. 3) E. Split Into Two Sets date: 2023-04-25 18:14:41 categories: AlgorithmCodeforces tags:codeforces并查集1600 E. Split Into Two Sets 题目大意 给你n组数,每组里面有两个数字,问你能不能把这n组数分为两组…

【数据架构系列-06】一文搞懂数据模型的3种类型——概念模型、逻辑模型、物理模型

数据模型就是模拟现实世界的方法论,是通向智慧世界的基石! 从现实世界发展到智慧世界,要数经历现实世界、信息世界、计算机世界、数据世界、智慧世界五个不同的世界,我们天生具有从混沌的世界抽象信息变为信息世界的能力&#xff…

基于jenkinsfile布置java工程

需求 通过jenkins发布java项目到服务器 预备环境 项目地址: https://gitee.com/asaland/sb-docker-appJenkins 2.387.3 通过Jenkinsfile实现方式 jenkins ui 配置pipeline 什么是pipeline? 直接看注释吧,简单点就是编排可以多个跨时间的构建代理…

JavaScript全解析——canvas 绘制变换和渐变

绘制变换 ●在 cancas 内, 也可以向 css 中一样, 出现一些 2d 变换的效果 ●先来绘制一个基本矩形 // 0. 获取到页面上的 canvas 标签元素节点 const canvasEle document.querySelector(#canvas)// 1. 获取当前这个画布的工具箱 const ctx canvasEle.getContext(2d)// 2. 绘…

ip数据报计算首部检验和

当我们在使用互联网进行数据传输时,数据可能会被篡改或者损坏。为了保证数据传输的可靠性和完整性,计算IP数据包首部检验和是一种非常重要的校验机制。本文将会介绍计算IP数据包首部检验和的方法。 IP数据包首部 首先,我们需要了解IP数据包…

5 系统数据文件和信息

5.1 口令文件 口令文件包含了下表中所示的各字段&#xff0c;这些字段包含在<pwd.h>中定义的passwd结构中。 /etc/passwd文件中的字段 说 明struct passwd 成员用户名char *pw_name加密口令char *pw_passwd数值用户IDuid_t pw_uid数值组IDgid_t pw_gid注释字段char *pw_g…

Unity实现GPU Cull渲染

前言 开放世界游戏中植被和物件的数量往往是巨大, 而传统组织大量植被渲染的方式是利用QuadTree/Octree/Kd-Tree等数据结构对植被Intance数据进行预先生成一个个Cluster&#xff0c;然后在运行时进行FrustumCull,收集可视的所有Cluster&#xff0c;最后进行DrawInstance. 这…

Yolov1 源码讲解 loss.py

结构 1.lt rb我觉得不是很合适 正确来说是lb rt 因为比较出来的都是左下和右上坐标 比如前两个&#xff0c;都是max出来的 选两个box左下坐标中最大的&#xff0c; 后两个则是右上坐标中最小的 那也就形成了交集面积 但是代码中仍然是lt rb我也就直接这样说 而算出lt和r…