5分钟熟悉git工具

5分钟熟悉git工具当执行 git checkout HEAD 或者 git checkout HEAD 命令时 会用 HEAD 指向的 master 分支中的全部或者部分文件同时替换暂存区和以及工作区中的文件

欢迎大家来到IT世界,在知识的湖畔探索吧!

【写在最前】

我们在平时的编程学习中,经常会接触到“版本控制”这个概念。

目前业界的开发团队,基本都会从 GIT 、 SVN 两种主流版本控制系统中选择一个在团队内部使用。

两个软件设计思路不同,各有利弊。

通过本文知识,让我们花5分钟时间学习一下git工具及其常用命令,相信聪明的你,看完一定会有收获!

【正文开始】

# 定义

Git 是一个开源的“分布式”版本控制系统,跟SVN不同,他并不需要一个集中式的中央代码服务器的支持。

# 安装

windows版: https://npm.taobao.org/mirrors/git-for-windows/

linux版: https://www.kernel.org/pub/software/scm/git/git-2.8.1.tar.gz (或 yum -y install git-core)

# 基本概念

想学好git,必须要理解版本库、暂存区、工作区概念

版本库:.git隐藏目录是 Git 的版本库

暂存区:对应版本库中名为index的二进制文件(另有stage一说,概念相同)

工作区:就是你在电脑里能正常看到的工作目录。

三者关系如下图所示:

5分钟熟悉git工具

  • 图中可看出 “HEAD” 是指向 master 分支的一个”游标”(图示的命令中出现 HEAD 的地方可以用 master 来替换)
  • 当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新;
  • 当执行提交操作 git commit 命令时,暂存区的目录树写到master版本库(即 master 指向的目录树就是提交时暂存区的目录树)
  • 当执行 git reset HEAD 命令时,暂存区的目录树被 master 分支指向的目录树所替换,但是工作区不受影响。
  • 当执行 git rm –cached <file> 命令时,会直接从暂存区删除文件,工作区不受影响。
  • 当执行 git checkout . 或者 git checkout — <file> 命令时,会用暂存区全部或指定的文件替换工作区的文件 (这个操作有一定危险性,会丢失工作区未add的改动)
  • 当执行 git checkout HEAD . 或者 git checkout HEAD <file> 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件同时替换暂存区和以及工作区中的文件。 (这个操作有一定危险性,会同时丢失工作区和暂存区的改动)

# 常用命令

Git 常用命令有6个,分别是:

git clonegit pushgit addgit commitgit checkoutgit pull

使用过程如下图所示:

5分钟熟悉git工具

再附上另一张图,加深你的理解:

5分钟熟悉git工具

# 分支管理

每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。

使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

创建分支命令:

git branch (branchname)

切换分支命令:

git checkout (branchname)

删除分支命令:

git branch -d (branchname)

合并分支命令:

git merge (branchname)

注意:合并分支过程中,可能会有代码冲突,此时必须手动解决后重新通过git add+git commit 命令提交

# 版本回退(穿梭)

人人都会犯错误,版本回退功能给了我们犯错后改正的机会。

版本回退,需要区分两种情形:

1)如果还没有 commit ,则建议用 git checkout <filename> 命令进行指定文件错误恢复;

2)如果已经commit,则需要先用 git log 命令列出所有 commitId, 然后利用 reset 命令进行恢复;

命令语法为: git reset –hard <commitId>

注1: –hard: commit 和 index都回退(推荐) –-soft:只回退commit,不回退index暂存区 –mixed:混合模式(默认值,但因为工作区没变化不直观,所以不推荐)

注2: reset 是全部回退(之后的commit记录会被直接清除) revert 则只回退指定的 commitId (单次),其余 commit 记录不变

【全文完】

——————————–

十年技术沉淀,只做原创文章;

及时关注作者,成就大牛之路!

如果您对文章内容有不同意见或独到见解,欢迎大家在评论区留言讨论,作者也会第一时间进行互动回复。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/81930.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信