git基本操作实践

第4章 通过实际操作学习git

4.1 git基本操作
  1. git init— 初始化仓库
    生成 .git 文件夹,这个 .git 目录里管理着当前目录内容所需的仓库数据,在Git中,我们将这个目录的内容成为“附属于该仓库的工作树”。

  2. git status— 查看仓库的状态

  3. mkdir abc 创建文件夹abc

  4. touch abc.html 创建文件 abc.html

  5. git log — 查看提交日志
    (1) 只显示指定目录、文件的日志 $ git log README.md
    (2)显示文件的具体改动内容 $ git log -p

  • git diff查看工作树和暂存区的区别
    不妨养成在$ git commit之前,$ git diff HEAD,查看本次提交和上次提交有什么区别
    HEAD是指针,指向当前分支的最新一次提交

4.2分支的操作
  1. git branch— 显示分支一览表
  2. $ git checkout -b 创建、切换分支
    如果你想以当前的master分支为基础创建新的分支,我们需要用到$git checkout -b
    (1)创建 feature-A 分支,并进行提交
$ git checkout -b feature-A    //创建分支 feature-A

等同于

$ git branch feature-A //创建分支
$ git checkout feature-A //切换到分支

(2)切换到 master 分支

$git checkout master   //checkout 查看

git checkout - '-' 连字符表示切换回上一个分支

  • git merge — 合并分支
    假设feature-A 这个特性分支开发完毕,想要将他合并到主干分支master中。
    (1)首先切换到 master 分支
$git checkout master

(2)然后合并分支, 为了历史记录,需要创建合并提交,因此在合并时加上 --no-ff参数

$ git merge --no-ff feature-A

咳咳咳!!!!敲黑板,这个时候会进入 vim 编辑器状态,想当时我折腾了半天不知道那是个啥
随后编辑器会启动,用于录入和并提交的信息
,默认信息中已经包含了是从分支合并过来的相关内容,所以保存就好了,然后关闭编辑器
先退出输出状态 Esc,然后进入输入状态 shift + :,最后输入 wq!(保存并退出)
vim命令总结
(3)成功的话,就会看到

合并成功返回

4.. git log --graph — 以图标的形式查看分支
此时此刻很有成就感,成功新建了一个分支,并且合并啦

历史记录图表.png

4.3 更改提交的操作
  1. git reset — 回溯历史版本
    如果此时我想创建一个feature-A 的兄弟分支,feature-B,怎么办呢?
    那就需要回溯到创建A的分支之前的节点,创建一个B分支,
    (1)要让仓库的HEAD、暂存区、当前工作树回溯到制定状态,需要用到git reset --hard命令,只需要提供目标时间点的哈希值,就可以完全恢复至改时间点的状态。
Paste_Image.png

(2)此时已经恢复到了创建分支A之前的节点,创建分支B

$ git checkout -b feature-B

随便写点什么,并且提交,一定要提交哦,也就是git addgit commit,不然没有记录,如果自己不小心把代码搞丢了,是找不到的

现在的状态.png

我的目标状态.png

(3)分支培育好了,要合并了
---------推进至A分支合并后的状态
git log 命令只能查看以当前状态为终点的历史日志,所以这里要使用 git reflog命令,查看当前仓库的操作日志 ,寻找此时的哈希值,然后git reset --hard,之后合并
2.git rebase -i——压缩历史
在合并特性分支之前,如果发现已提交的内容中有些许拼写错误,这可以合并到上一个提交压缩成一个历史记录,来保证历史记录的高效性、正确性。
(1)创建分支C

$ git checkout -b ccc

(2)对文件进行修改(并预留错误),并提交
很小的更改可以直接一次性git commit -am"information",不需要git addgit commit
(3)修正代码中错误
查看一下当前工作区和暂存树中的不同git diff

git diff 查看不同.png

并提交

$ git commit -am"Fix typo"

漏字错字等失误称作typo,但是历史记录中不需要出现这类信息,所以要合并到上一个历史记录

(4)更改历史

$ git rebase -i HEAD~2

用这种方法执行git rebase命令,可以选定当前分支中包含HEAD(最新提交)在内的两个最新历史记录为对象,并在编辑器中打开

最新两次历史记录.png

ea3730a左侧的pick部分删除,改为fixup,保存编辑器里的内容,关闭编辑器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,648评论 4 54
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,630评论 9 163
  • 自恕 飞树 一针游孽 ...
    飞树阅读 481评论 1 2
  • 1.【温玉公子】:雨潇湘,凭栏望,浊酒一壶醉千场。本公子已为汝相思成殇。 2.【邪魅公子】:曲未央,夜初凉,古琴五...
    乌托邦的梦阅读 2,484评论 1 7