想要在团队中处理代码时有效协作并跟踪更改,版本控制发挥着至关重要的作用。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. 【题解】UVA10228 A Star not a Tree?

    题面传送门 解决思路 本题数据范围较小,可以使用模拟退火算法(随机化). 顾名思义,模拟退火就是一个类似于降温的过程.先设置一个较大的初温,每次随机改变状态,若使答案更优,则采取更优答案,否则根据其与 ...

  2. 【云原生 · Kubernetes】部署Kubernetes集群

    [云原生 · Kubernetes]搭建Harbor仓库 接着上次的内容,后续来了! 在master节点执行脚本k8s_master_install.sh即可完成K8S集群的部署,具体步骤参考如下(1 ...

  3. 我的第一个项目(二):使用Vue做一个登录注册界面

    好家伙,   顶不住了,太多的bug, 本来是想把背景用canvas做成动态的,但是,出现了各种问题 为了不耽误进度,我们先把一个简单的登录注册界面做出来 来看看效果:  (看上去还不错) 本界面使用 ...

  4. Axios +Vue + themeleay

    1.pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  5. 07#Web 实战:实现 GitHub 个人主页项目拖拽排序

    实现效果图 GitHub 和 Gitee 个人主页中可以对自己的项目进行拖拽排序,于是我就想自己实现一个.本随笔只是记录一下大概的实现思路,如果感兴趣的小伙伴可以通过代码和本随笔的说明去理解实现过程. ...

  6. CSP-S 游寄

    \(\text{reflection}\) 初赛. 本来以为上午要愉快地周测,但是伟大的虎哥让我们在四楼接着练习 然后就目睹了一个万能头+return 0编译 1min30sec 的奇迹 Win7 打 ...

  7. 第二章:seaborn调色板

    1.系统默认调色板 1 import seaborn as sns 2 import matplotlib.pyplot as plt 3 4 # 设置画布的大小 5 sns.set(context= ...

  8. 如何用3D流体实现逼真水流效果?

    华为应用市场在2022年HDC大会期间发布了一款3D水流主题,基于华为HMS Core Scene Kit服务能力,展现立体灵动的水流岛屿,可跟随用户指尖实现实时流体波动效果,既趣味又解压. 让变幻莫 ...

  9. 深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」

    [易错问题]Major GC和Full GC的区别是什么?触发条件呢? 相信大多数人的理解是Major GC只针对老年代,Full GC会先触发一次Minor GC,不知对否?我参考了R大的分析和介绍 ...

  10. adb环境配置及常用命令

    一.adb环境配置 1.下载并安装adb驱动 2.下载adb工具platform-tools.rar,解压放在某个文件夹下 3.右击此电脑->属性->高级系统设置->环境变量-> ...