技术一直在进步,时间一直在消失。最近几年 Git 迅速的崛起,被越来越多的公司所采用。前几天还有网友差点和同事干起来了,原因就是代码经常莫名其妙的被“丢失”,究其原因就是 Git 用的不熟,遇到冲突后直接把人的代码给覆盖掉了,才有了后来的“翻车事故”!

Git 很简单,也很复杂。我认为平时使用不需要掌握全部的命令,常用的命令 20 个足矣,剩下的收藏起来,用时一翻笔记就可以做到手到擒来!

第一个命令:git clone。

这个命令不常用,一般在进公司后,克隆代码使用。该命令会在本地主机生成一个目录,与远程主机的版本库同名。

git clone支持多种协议,除了HTTP(s)以外,还支持SSH、Git、本地文件协议等。

第二个命令:git init。

git init 这个命令,顾名思义就是初始化一个 git 仓库。比如,我本地新建了一个 xttblog 的项目,我就可以针对它,把它初始化成 git 仓库。

git init 之后,我往往需要把它和远程仓库关联,则可以使用下面的命令进行关联。

关联成功后,我们就可以执行 git push 推送代码了。

第三个命令,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”我多送你几套,或者我拉你进群一起精进!

©著作权归作者所有:来自51CTO博客作者mob604756f06ed8的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 用 Linux 下所有的压缩、解压命令造轮子
  2. Linux运维入门教程03-02 (目录文件的浏览、管理及维护(二))
  3. Vue.js 基础入门系列(一)环境搭建
  4. Shell的18条常用命令整理
  5. 汇总:Linux文件管理的50个命令
  6. 关于Cisco Smart Install存在远程命令执行漏洞的情况通报
  7. Linux 三剑客 Awk、Sed、Grep 命令详解
  8. 1819、shell脚本基础-bash变量和逻辑运行0脚本编程基础及配置文
  9. echo 命令 sleep 命令

随机推荐

  1. Android TextView中的文字自动生成链接
  2. Android 开发环境配置
  3. 相对布局常用属性介绍(RelativeLayout)
  4. Android(安卓)TTS学习——TTS初体验
  5. Android(安卓)Message机制的灵活应用
  6. Android 学习笔记(十六):Widget-进度条
  7. android:EditText属性
  8. android中的帧动画
  9. Android 查看源码
  10. [置顶] android app 快速接入支付宝流程(a