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

1. git config

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

# configure the user which will be used by Git
# this should be not an acronym but your full name
$ git config --global user.name "Firstname Lastname"
# configure the email address
$ git config --global user.email "your.email@example.org"

2. git init

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

$ git init <the name of your repository>

3. git clone

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

$ git clone <the url of the repository>

4. git add

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

$ git add myfile

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

5. git branch

git branch 是 git 初学者需要熟练掌握的重要命令。该命令可帮助用户创建、删除和列出分支。这个命令有一些重要选项:

-v -a 显示有关所有分支的更多信息。默认情况下,列出的分支只会显示本地分支名称。

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

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

-d 删除指定的分支。

# list all branches
$ git branch -a -v
# Return all branches that has not merged
$ git branch --no-merged
# Return all branches thaat has merged
$ git branch --merged

6. git commit

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

$ git commit -m “first commit”

7. git push

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

$ git push origin master

8. git diff

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

$ git diff

9. git status

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

$ git status

10. git show

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

$ git show

11. git tag

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

git tag –a v2.0 –m ‘this is version 2.0 tag’

12. git merge

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

$ git merge branch_name

13. git log

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

$ git log

14. git reset

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

$ git reset [commit id]

15. git rm

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

$ git rm <filename>

16. git remote

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

$ git remote add [variable name] [Remote Server Link]

17. git fsck

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

$ git fsck

18. git pull

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

$ git pull repository_link

19. git checkout

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

Switch to an existing branch:$ git checkout <branch-name>
#Create and switch to a new branch
$ git checkout -b <branch-name>

20. git stash

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

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

$ git stash

列出所有的暂存文件:

$ git stash list

删除最新的存储:

$ git stash drop

原文作者:Thomas Sentre 全栈工程师

 

原文链接:https://dev.to/devland/20-git-commands-that-will-make-you-a-version-control-pro-149p

20个 Git 命令玩转版本控制的更多相关文章

  1. 使用 Git 命令去管理项目的版本控制(二)

    参考 上一篇  完成本篇博客,本篇为作者原创,仅供学习参考. 本篇博文在上一篇的基础上这里记录了我的一个小模拟练习.本篇作为自己的学习笔记,也意在方便其他人的学习使用,达到分享目的.下面主要是操作截图 ...

  2. 2015继续任性——不会Git命令,照样玩转Git

    最近事情比较多,一眨眼,已经半个月没有写博客了~不得不感慨光阴似箭啊!当然,2015年有很多让我们期待的事情,比如win10正式版..NET开源.VS2015等等.想想都让人兴奋啊~~ 为了迎接VS2 ...

  3. 使用 Git 命令去管理项目的版本控制(一)

    参考资料:参考  参考 声明本文是作者原创,是自己的学习笔记,仅供学习参考. 在 10.11.2Mac系统中,要显示隐藏的文件夹使用命令行: defaults write com.apple.find ...

  4. GIT命令行的使用

    新手了解 有不对的地方指点下 首先, 了解下什么是GIT,GIT是一款开元的分布式版本控制工具, 在世界上的所有分布式版本控制工具中,GIT是最简单,最流行,同时也是最常用的 相比于其他版本的控制工具 ...

  5. Git 命令详解及常用命令

    Git 命令详解及常用命令 Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下: 关于git,首先需要了解几个名词,如下: 1 2 3 4 Work ...

  6. git命令(一)

    git中每个版本的保存是记录每个版本的快照,只在乎这个文件是否改变. Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 ...

  7. Git命令学习总结(-)

    入职的第一天,让git命令直接给难住了,汗!使用习惯可视化的工具对于命令行早就忘记的一干二净.还好,回家自己练习一下,总会没有错的.git就不做简介了,版本管理除了svn就是git了,其他的都无所谓了 ...

  8. git命令手册

    以下内容是我在学习和研究Git时,对Git操作的特性.重点和注意事项的提取.精练和总结,可以做为Git操作的字典,方便大家查阅: 备注:本文会不断更新完善: 目录 一. 语法格式描述 二. git环境 ...

  9. 【Git】工作中99%能用到的git命令

    Git使用笔记 1.第一次使用github ============================================= 1)github注册账号 使用邮箱注册账号 先不要创建版本库 2 ...

  10. 工作中常用的git命令

    一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...

随机推荐

  1. python中的super()是什么?

    技术场景:python中的super,名为超类,可以简单的理解为执行父类的__init__函数.由于在python中不论是一对一的继承,还是一子类继承多个父类,都会涉及到执行的先后顺序的问题.那么本文 ...

  2. 使用SVN搭建本地版本控制仓库

    使用SVN搭载本地版本控制仓库[转] 如果是在公司,都是有云服务器,项目负责人都是把项目放在服务器上,我们直接用SVN地址就可以实现更新和下载项目源码,那么如果我们自己想使用SVN在本机管理自己写的一 ...

  3. Web安全Day1 - SQL注入、漏洞类型

    Web安全Day1 - SQL注入.漏洞类型 1. SQL注入 1.1 漏洞简介 1.2 漏洞原理 1.3 漏洞危害 2. SQL漏洞类型 2.1 区分数字和字符串 2.2 内联SQL注入 2.3 报 ...

  4. C++快速幂

    C++快速幂 快速幂的作用: 当我们做一些高次幂的计算时,就不能直接进行暴力的计算.例如:需要计算2^n 并且n≤10^18.这时候如果我们直接进行暴力的计算,时间复杂度为O ( n ),那么肯定会超 ...

  5. Java 中你绝对没用过的一个关键字?

    layout: post categories: Java title: Java 中你绝对没用过的一个关键字? tagline: by 子悠 tags: 子悠 前面的文章给大家介绍了如何自定义一个不 ...

  6. 高效率开发Web安全扫描器之路(一)

    一.背景 经常看到一些SRC和CNVD上厉害的大佬提交了很多的漏洞,一直好奇它们怎么能挖到这么多漏洞,开始还以为它们不上班除了睡觉就挖漏洞,后来有机会认识了一些大佬,发现它们大部分漏洞其实是通过工具挖 ...

  7. 4.10:Spark之wordcount

    〇.概述 1.拓扑结构 2.目标 使用spark完成计数实验 一.启动环境 二.新建数据文件 三.查看文件内容 四.启动spark服务 五.编写代码 复制以下代码到shell中(复制后在终端右键-&g ...

  8. 100IT 名企 java 面试必考面试题

    一.Java基础(2/133) 二.Java代码报错(52/133) 三.算法与编程(55/133) 四.html&JavaScript&ajax部分 五.Java Web部分 六.数 ...

  9. 为什么推荐Kestrel作为网络开发框架

    为什么推荐Kestrel 网络框架千千万万,在dotnet平台,我们可以直接手撸Socket,也可以基于dotnetty来开发,或者选择某些第三方类似于dotnetty的网络库,为何我要推荐Kestr ...

  10. 深入解读MySQL InnoDB存储引擎Update语句执行过程

    参考b站up 戌米的论文笔记 https://www.bilibili.com/video/BV1Tv4y1o7tA/ 书籍<mysql是怎样运行的> 极客时间<mysql实战45讲 ...