技术一直在进步,时间一直在消失。最近几年 Git 迅速的崛起,被愈来愈多的公司所采用。前几天还有网友差点和同事干起来了,缘由就是代码常常莫名其妙的被“丢失”,究其缘由就是 Git 用的不熟,遇到冲突后直接把人的代码给覆盖掉了,才有了后来的“翻车事故”!git
Git 很简单,也很复杂。我认为平时使用不须要掌握所有的命令,经常使用的命令 20 个足矣,剩下的收藏起来,用时一翻笔记就能够作到手到擒来!安全
第一个命令:git clone。微信
这个命令不经常使用,通常在进公司后,克隆代码使用。该命令会在本地主机生成一个目录,与远程主机的版本库同名。ide
git clone支持多种协议,除了HTTP(s)之外,还支持SSH、Git、本地文件协议等。工具
第二个命令:git init。fetch
git init 这个命令,顾名思义就是初始化一个 git 仓库。好比,我本地新建了一个 xttblog 的项目,我就能够针对它,把它初始化成 git 仓库。3d
git init 以后,我每每须要把它和远程仓库关联,则可使用下面的命令进行关联。视频
关联成功后,咱们就能够执行 git push 推送代码了。blog
第三个命令,git pull。教程
这个命令很简单,直接拉取远程的代码到本地仓库。可是,简单并不表明着安全。每每就是由于它,形成了代码“丢失”。
代码更新后,可能会和本地仓库的代码形成冲突。若是存在冲突,git 可能就会报错提示“Automatic merge failed; fix conflicts and then commit the result”。这个时候,咱们就可使用 git diff 命令查看更多冲突细节。
而后根据 git diff 中的提示,修改冲突的文件。删除冲突标记后(<<<<<<<<<<<<<<<< 和 >>>>>>>>>>>>>>>>>>>>的行)。解决冲突后,能够再次执行 git diff 查看冲突详情。若是冲突彻底解决了,那就能够执行下面的命令进行代码提交。
第四个命令:git branch。
使用这个命令会建立一个新的分支。能够从现有的分支建立一个新的分支。 也可使用特定的提交或标签做为起点建立分支。若是没有提供任何特定的提交ID,那么将以 HEAD 做为起点来建立分支。
git branch 还有几个重要的参数,举例以下:
第五个命令,git checkout。
这个命令用来切换分支或恢复工做树文件。git checkout 是 git 最经常使用的命令之一,同时也是一个很危险的命令,由于这条命令会重写工做区。
git checkout 还能够用来检索索引中的一些文件。
须要注意的是,在使用 git checkout 时,若是其对应的文件被修改过,那么该修改会被覆盖掉。
第六个命令,git merge。
git merge 命令用于将两个或两个以上的开发历史加入(合并)一块儿。好比下面我列举的分支合并。
第七个命令,git reset。
使用版本管理工具的一个好处就是能够吃后悔药,git reset 命令用于将当前 HEAD 复位到指定状态。通常用于撤消以前的一些操做。
git reset 命令有三个主要选项:git reset --soft、git reset --mixed、git reset --hard。
git reset --soft
将HEAD引用指向给定提交。索引(暂存区)和工做目录的内容是不变的,在三个命令中对现有版本库状态改动最小。
git reset --mixed(git reset默认的模式)
HEAD引用指向给定提交,而且索引(暂存区)内容也跟着改变,工做目录内容不变。这个命令会将索引(暂存区)变成你刚刚暂存该提交所有变化是的状态,会显示工做目录中有什么修改。
git reset --hard
HEAD引用指向给定提交,索引(暂存区)内容和工做目录内容都会变给定提交时的状态。也就是在给定提交后所修改的内容都会丢失(新文件会被删除,不在工做目录中的文件恢复,未清除回收站的前提)。
下面是我经常使用的一些重置操做。
写到这里,会了上面这几个命令,你在公司平常的开发使用 git 已经没有问题了。另外,上面看似只有 7 个命令,但实际穿插的绝对不止 7 个命令。
除此以外,git 还有很是的多的命令,好比:git config命令、git help命令、git init命令、git add命令、git clone命令、git status命令、git diff命令、git commit命令、git reset命令、git rm命令、git mv命令、git branch命令、git checkout命令、git merge命令、git mergetool命令、git log命令、git stash命令、git tag命令、git fetch命令、git pull命令、git push命令、git remote命令、git submodule命令、git show命令、git shortlog命令、git describe命令、git rebase命令。多数我都没有讲到,可是你也别担忧,下面我给你一套视频教程,你多去练习。
连接地址:https://pan.baidu.com/s/1rmT-wz-FwQ9Zjesm2t-jcw
提取密码:61ju
若是这套视频看完后,你还搞不定。那就加我微信号“xttblog”我多送你几套,或者我拉你进群一块儿精进!