百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

20个 Git 命令玩转版本控制

wptr33 2025-01-11 17:46 16 浏览


想要在团队中处理代码时有效协作并跟踪更改,版本控制发挥着至关重要的作用。Git 是一个版本控制系统,可以帮助开发人员跟踪修订、识别文件版本,并在必要的时候恢复旧版本。Git 对于有一定编程经验的用户来说虽然不算太难,但是想要玩转一些高级功能也并不是件容易的事情。在这篇文章中,我将向你展示一些最实用的 Git 命令,手把手教你成为 Git 专家。


1. git config

git config 是你需要熟知的基本 Git 命令之一。该命令有助于设置电子邮件、用户名、文件格式、首选文件算法和许多其他属性的配置值。命令示例如下:


2. git init

git init 是最常用的 Git 命令之一,用于适合初始化 Git 仓库(创建新仓库)。.git 文件夹通常保持隐藏状态,如果是 Windows,需要在查看中选择“隐藏的项目”。对于 Linux,可以使用“ls –a”命令查看.git 目录。建议任何人都不要篡改 .git 文件夹的内容。


3. git clone

此命令用于从现有 URL 获取存储库。


4. git add

git add 命令可以帮助用户将当前在工作目录中的文件修改添加到用户 index 中,帮助用户添加准备提交到远程存储库的未跟踪文件。

此命令会将 myfile 添加到暂存区。


5. git branch

git branch 是 git 初学者需要熟练掌握的重要命令。该命令可帮助用户创建、删除和列出分支。这个命令有一些重要选项:
-v -a 显示有关所有分支的更多信息。默认情况下,列出的分支只会显示本地分支名称。

  • -a:查看所有分支,包括本地及远程分支
  • -v:查看本地分支及其对应的提交记录

-- no-merged 返回所有尚未合并到当前 HEAD branch的分支。
-d 删除指定的分支。


6. git commit

git commit 命令捕获项目当前暂存更改的快照。


7. git push

git push 命令可以帮助用户将所有修改过的本地 Git 仓库中的本地分支推送到远程仓库。


8. git diff

git diff 命令可用于创建补丁文件或统计索引、工作目录或 git 存储库中路径或文件之间的差异。


9. git status

git status 命令可以帮助显示索引中文件和工作目录中文件的状态。该命令将轻松列出未跟踪、修改和暂存的文件。


10. git show

此命令显示指定提交的元数据和内容更改。


11. git tag

此命令将有助于使用简单、持久且人类可读的句柄标记特定提交。该命令的示例如下:


12. git merge

git merge 是一项强大的功能,用于将两个或两个以上的开发历史合并在一起。当开发人员处理相同的代码并希望在将它们推送到分支之前集成更改时则需要使用命令。


13. git log

git log 命令列出了项目中曾发生的每一次提交,方便用户查看随着时间的推移发生了哪些变化,以及有关提交如何完成的其他一些信息。


14. git reset

使用 git reset 命令来回退版本,改命令可以退回某一次提交的版本,注意谨慎使用 --hard 参数,该参数会删除回退点之前的全部信息。


15. git rm

此命令用于删除 index 中的文件。要从当前工作目录中删除特定文件并分阶段删除,请使用以下命令:


16. git remote

此命令用于将本地 git 存储库连接到远程服务器。


17. git fsck

此命令用于检查 Git 文件系统的问题,常用来检查内部数据库的完整性和不一致性问题。


18. git pull

此命令用于从远程服务器上获取代码,并合并本地的版本。


19. git checkout

git checkout 命令允许我们切换到现有分支或创建并切换到新分支。此外,在 git checkout 命令后可以使用-b参数,系统将自动创建一个新的分支并立即切换到这个分支上来。


20. git stash

该命令用于将所有修改过的文件暂时存放在工作目录中。

暂时保存所有修改过的跟踪文件:

列出所有的暂存文件:

删除最新的存储:


Republish of this article is authorized by Thomas Sentre
Link:https://dev.to/devland/20-git-commands-that-will-make-you-a-version-control-pro-149p

相关推荐

C++企业级开发规范指南(c++开发gui)

打造高质量、可维护的C++代码标准一、前言C++作为一门功能强大的系统级编程语言,被广泛应用于操作系统、游戏引擎、高性能服务器、数据库系统等领域。知名互联网公司(如Google、Microsoft、腾...

C++|整型的最值、上溢、下溢、截断、类型提升和转换

整数在计算机内以有限字长表示,当超出最值(有限字长)时,需要截断(溢出,求模)操作。不同字长的整型具有不同的值域,混合运算时,需要类型提升和转换。1整形最值在<limit.h>中有整型的...

C++|漫谈STL细节及内部原理(c++ std stl)

1988年,AlexanderStepanov开始进入惠普的PaloAlto实验室工作,在随后的4年中,他从事的是有关磁盘驱动器方面的工作。直到1992年,由于参加并主持了实验室主任BillWo...

C++11新特性总结 (二)(c++11新特性 pdf)

1.范围for语句C++11引入了一种更为简单的for语句,这种for语句可以很方便的遍历容器或其他序列的所有元素vector<int>vec={1,2,3,4,5,6};f...

C++ STL 漫谈(c++中的stl到底指的什么)

标准模板库(StandardTemplateLibrary,STL)是惠普实验室开发的一个函数库和类库。它是由AlexanderStepanov、MengLee和DavidRMusser在...

C++学习教程_C++语言随到随学_不耽误上班_0基础

C++学习教程0基础学C++也可以,空闲时间学习,不耽误上班.2019年C语言新课程已经上线,随到随学,互动性强,效果好!带你征服C++语言,让所有学过和没有学过C++语言的人,或是正准备学习C++语...

C++遍历vector元素的四种方式(c++ 遍历vector)

vector是相同类型对象的集合,集合中的每个对象有个对应的索引。vector常被称为容器(container)。C++中遍历vector的所有元素是相当常用的操作,这里介绍四种方式。1、通过下标访问...

一起学习c++11——c++11中的新增的容器

c++11新增的容器1:array当时的初衷是希望提供一个在栈上分配的,定长数组,而且可以使用stl中的模板算法。array的用法如下:#include<string>#includ...

C++编程实战基础篇:一维数组应用之投票统计

题目描述班上有N个同学,有五位候选人“A,B,C,D,E”,请所有的同学投票并选举出班长,现在请你编写程序来他们计算候选人的得票总数,每位同学投票将以数字的形式投票“12345”分别代表五位候选人,...

C++20 新特性(6):new表达式也支持数组大小推导

new表达式也支持数组大小推导在C++17标准中,在定义并初始化静态数组时,是可以忽略数组大小,然后通过初始化数据来推导数组的大小。但使用new来定义并初始化动态数组时,并不支持这种自动推导数组大...

C++ 结构体(struct)最全详解(c++结构体用法)

一、定义与声明1.先定义结构体类型再单独进行变量定义structStudent{intCode;charName[20];charSex;intA...

自学 C++ 第 6 课 二维数组找最值

键盘输入一个m×n的二维数组,通过C++编程找出元素中的最大值,并输出其所在的位置坐标。例如,输入一个4×5的二维数组,数组元素分别为{{556623749},{578964563},...

从缺陷中学习C/C++:聊聊 C++ 中常见的内存问题

在写C/C++程序时,一提到内存,大多数人会想到内存泄露。内存泄露是一个令人头疼的问题,尤其在开发大的软件系统时。一个经典的现象是,系统运行了10天、1个月都好好的,忽然有一天宕机了:OOM(Out...

C++开发者都应该使用的十个C++11特性(上)

在C++11新标准中,语言本身和标准库都增加了很多新内容,本文只涉及了一些皮毛。不过我相信这些新特性当中有一些,应该成为所有C++开发者的常规装备。你也许看到过许多类似介绍各种C++11特性的文章。下...

深度解读C/C++指针与数组(c++指针和数组的区别)

指针和数组是密切相关的。事实上,指针和数组在很多情况下是可以互换的。例如,一个指向数组开头的指针,可以通过使用指针的算术运算或数组索引来访问数组。今天我们就来聊一聊数组和指针千丝万缕的关系;一维数组与...