美文网首页Git使用Gittool for work
基于SourceTree与命令行的Git优化操作

基于SourceTree与命令行的Git优化操作

作者: 达摩君 | 来源:发表于2018-06-26 16:02 被阅读28次

基于SourceTree与命令号的Git优化操作;

修改最近一次的提交

这个场景对反复修改的bug很实用,有的时候打包提交了,然后可能因为环境变量,一些小颜色修改有要commit,这样Git提交记录会比较多。可以将最后一次修改合并到前一次。
命令行操作

//查看待提交文件
localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git status
localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git add util/api.js
localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git commit --amend
[ljb 174205a] test3
 Date: Tue Jun 26 14:31:37 2018 +0800
 1 file changed, 1 insertion(+), 1 deletion(-)
//这个时候会打开上一次的文本编辑,保存退出即可。

SourceTree


image.png

需要修改一次特定的提交

需要修改以前的某一次提交
命令行

localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git log
commit 174205a116f025f3cae22386406bf064abf02d52 (HEAD -> ljb)
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 14:31:37 2018 +0800

    test3

commit 251782f5d7b56dcc077bf7b4b9c8ee6d42551113
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 14:19:36 2018 +0800

    test2

commit 5287703b90952f1a8cbe2d19ac646a22b811d299
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 14:19:02 2018 +0800

    Test1

commit a4e4af91eeafe94e00e5f1177087fcdada3a8c64
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 11:59:16 2018 +0800

    test
//不管什么时候我们想要用 git rebase 命令修改一个特定的更改提交,我们首先要将我们分支的 HEAD 变基到我们想要修改的更改提交之前。
在这个场景中,我们需要修改test2的更改提交。
//这条命令会运行 Git 变基命令的交互模式,并且会打开文本编辑器展示你所变基到的更改提交之后的所有更改提交
localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git rebase -I 5287703b90952f1a8cbe2d19ac646a22b811d299

pick 251782f test2
pick 174205a test3

# Rebase 5287703..174205a onto 5287703 (2 commands)
......省略
# Note that empty commits are commented out

然后修改为  edit 251782f test2,保存退出

localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git rebase -I 5287703b90952f1a8cbe2d19ac646a22b811d299
Stopped at 251782f...  test2
You can amend the commit now, with

  git commit --amend 

Once you are satisfied with your changes, run

  git rebase --continue
//接下修改你要修改的东西,然后git add ....     
//再 git rebase --continue  

SourceTree


屏幕快照 2018-06-26 下午3.04.17.png
image.png
image.png
现在是这个样子.png
屏幕快照 2018-06-26 下午3.08.25.png
image.png

添加、移除或者合并提交

localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git log
commit 1d2d763dff9761baa088d368ac2f3e8b5f6f6116 (HEAD -> ljb)
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 14:31:37 2018 +0800

    test3

commit a917f37ae6a9bf8fe548a44b8c54a96b401dbb31
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 15:12:20 2018 +0800

    rebase冲突解决

commit 1b758831418aa0dbe1ecc6713c86cceed1543cc2
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 15:10:52 2018 +0800

    test2-rebase

commit b000438d8ce54b7572d907943cc43e7930a44b0f
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 15:13:58 2018 +0800

    Test1-rebase

commit 8d69e822948ac3ee25f7300451eaf784a227fb69
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 15:15:05 2018 +0800

    Test1

commit 5287703b90952f1a8cbe2d19ac646a22b811d299
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 14:19:02 2018 +0800

    Test1

commit a4e4af91eeafe94e00e5f1177087fcdada3a8c64
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 11:59:16 2018 +0800

    test

我要合并rebase冲突解决,test2-rebase,Test1-rebase,Test1到test3

  1. 把你想要合并的那些更改提交往上移动,以使得它们位于最终合并的更改提交之下。
  2. 将每一个更改提交的模式由 pick 改为 squash 或者 fixup。
    注:squash 模式会在描述中保留修改时的信息。而fixup 不会,它只会保留原来的提交信息。
localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git rebase -I a4e4af91eeafe94e00e5f1177087fcdada3a8c64
Successfully rebased and updated refs/heads/ljb.
//修改为
pick 5287703 Test1
fixup 8d69e82 Test1
fixup b000438 Test1-rebase
fixup e0aa572 test2-rebase
pick a7513b7 test3
localhost:TC.Train.YPMinimalistMiniApps ljb48229$ git log
commit 4db6fae3027b73820773d581142010c848b740b9 (HEAD -> ljb)
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 14:31:37 2018 +0800

    test3

commit c1a773da8cc4b84102dc2ec8dc9511f05d53ff59
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 14:19:02 2018 +0800

    Test1

commit a4e4af91eeafe94e00e5f1177087fcdada3a8c64
Author: ljb48229 <ljb48229@ly.com>
Date:   Tue Jun 26 11:59:16 2018 +0800

    test

SourceTree


image.png
image.png
image.png

参考资料:[译] 怎样(以及为什么要)保持你的 Git 提交记录的整洁

相关文章

  • 基于SourceTree与命令行的Git优化操作

    基于SourceTree与命令号的Git优化操作; 修改最近一次的提交 这个场景对反复修改的bug很实用,有的时候...

  • SourceTree 免登录跳过初始设置的方法

    很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。 然鹅,SourceTree安装之后需要...

  • SourceTree的一些设置

    之前都用git命令行配合sourcetree,sourcetree一般都用于查看历史,有时候进行一些操作,比如fe...

  • sourcetree跳过注册环节

    很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。然鹅~~sourcetree又一个比较严...

  • 使用SourceTree轻松愉快玩转Git

    前言 本篇博客将给大家介绍在实际开发中非常流行的Git图形化工具:SourceTree。如果你对Git命令行操作还...

  • sourcetree配置ssh

    配置步骤: 1).安装好SourceTree和Git后打开SourceTree,点击上面的”命令行”按钮。 打开命...

  • vue sass安装失败

    我这边因为使用的是sourcetree 所以直接在sourcetree的git命令行模式输入命令: SASS_BI...

  • Git入门

    Git下载 Git下载地址 Git图形化操作工具 Sourcetree 下载地址 配置用户名与邮箱 git con...

  • Git知识总览(一) 从 git clone 和 git sta

    本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是...

  • Git基础使用

    1.git工具命令行工具 git bash图形界面工具 sourcetree 2.配置全局的用户信息git co...

网友评论

本文标题:基于SourceTree与命令行的Git优化操作

本文链接:https://www.haomeiwen.com/subject/idxmyftx.html