用 git add 命令,只不过要加上 -p 这个参数,带上要add的文件


 先看这个文件的变化,修改,删除一行(换为空行),新增加一行。

下面就介绍如何只提交最后一个区块(hunk)

sourcetree中很简单,只需要点击一下stage hunk就好了,那git add -p是怎么实现的呢

可以看到现在显示的是第一个区块,最后一行是需要我们来做决定,需要输入命令来操作这个区块,暂时选择 j,  什么意思等到下个区块再看

现在下面蓝色的选项比之前多了k, K,至于这里面每项表示什么意思,git官网的文档上有,这里只要直接回车(默认就是?表示help嘛)

这里面对每一项做了解释,这样就不需要记住第个选项的意思了,需要就看一下就好了。

比如选择g的时候,会出现下面这样的选择


 三处修改选择一个前往,我们要提交第三个区块,所以选择3

在出现第三个区块先项时,选择y,表示暂存此区块


 在看此时的文件状态,第三个区块已经被暂存

下面看如何按行提交,比如提交剩下的两个区块每二个区块中的删除行,而不要新增加行

仍然是 git add -p命令

在出现这个区块是,选择e


 
接下来就会进入编辑环境,需要知道点vim的知识

进行编辑,请关注红框的位置


 请对比修改前后的区别

最后通过 :wq 保存并退出编辑

可以看到删除已经暂存,但是添加行还在,没有被暂存。

再看看已经暂存的修改


 第三区块, 第二区块的一行,两处都在这了。

如果想取消这些暂时或者部分区块,或者按行级别,其实和刚才的操作类似,只是用的是git reset命令

通过git status 查看文件状态,可以看到提示

通过git reset HEAD 这个命令就可以了,如果分区块或者按行级别请加 -p 参数。其它的和暂存的时候是一样的,这里就不做演示了

Git分块提交文件的更多相关文章

  1. git 命令提交文件

    方法/步骤   打开要添加的文件的位置,右键,点击下面强调的内容,进入命令页面 先执行命git pull,这是提交的基本操作, git status,查看现在当前的文件状态 没有看到你现在要添加的文件 ...

  2. 如何使用git命令添加文件和提交文件

    1.进入指定文件夹内,启动 git bash here 2. 初始化文件夹 git init 3.开始添加文件 所有文件添加方法 git add . 单个文件添加方法 git add *.* 例如我的 ...

  3. git gui 还原部分提交文件

    有时候用git提交文件的时候会一起提交了多个文件,但是突然后悔了,想把其中一个文件撤销提交,其他文件不做修改.这个时候该怎么办呢? 我觉得有很多办法,比如可以先checkout到上次的提交,然后复制要 ...

  4. git 撤销提交的文件

    一.问题 近期在使用git时遇到一个问题,就是在git上传文件时,将一个100兆的大文件添加到了git,并执行了push操作,这时在上传完毕后,会提示这个错误 Large files detected ...

  5. git忽略某些文件提交

    git忽略某些文件提交   在项目中有些配置文件不需要提交,但是有同学在后面开发中发现在.igonore文件中无论如何都无法忽略某些文件的提交.原因在这里: 已经维护起来的文件,即使加上了gitign ...

  6. Git学习之路(3)-提交文件到三个区

    ▓▓▓▓▓▓ 大致介绍 年过的差不多了,开始学习!小白学Git(持续更新) Git有三个工作区域: ◆ 工作区(Working Directory) ◆ 暂存区(Stage) ◆ 版本库(Reposi ...

  7. 使用Git将本地文件提交到远程仓库

    一 操作准备条件: git远程仓库已经建好了,本地文件已经存在了,现在要将本地代码推到git远程仓库保存. 解决办法如下: 1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以 ...

  8. git查看某个文件的提交记录

    git log --pretty=oneline 文件路径/文件名 git show 提交id

  9. git纯净提交代码(只提交自己改过的文件)

    添加远程仓库,这个远程仓库是要进行发起合并请求的仓库,简单来说就是项目的主要代码库,不是自己派生的代码库 git remote add main http://xxx  从远端仓库下载新分支与数据gi ...

随机推荐

  1. HDU 6107 - Typesetting | 2017 Multi-University Training Contest 6

    比赛的时候一直念叨链表怎么加速,比完赛吃饭路上突然想到倍增- - /* HDU 6107 - Typesetting [ 尺取法, 倍增 ] | 2017 Multi-University Train ...

  2. 【DES加密解密】 C#&JAVA通用

    DES加密解密 C# Code /// <summary> /// DES加密解密帮助类 /// </summary> public static class DESHelpe ...

  3. CI环境搭建下-Jenkis与git结合

     设置权限:  也可以通过公私钥的方式,添加权限,公私钥填写在gitblit用户中心:  Jenkins中填写私钥: 添加: 添加后如果仍然报错,是因为windows下要使用http的地址. 在此,可 ...

  4. BZOJ 4712 洪水 动态dp(LCT+矩阵乘法)

    把之前写的版本改了一下,这个版本的更好理解一些. 特地在一个链的最底端特判了一下. code: #include <bits/stdc++.h> #define N 200005 #def ...

  5. Java进阶知识11 Hibernate多对多单向关联(Annotation+XML实现)

    1.Annotation 注解版 1.1.应用场景(Student-Teacher):当学生知道有哪些老师教,但是老师不知道自己教哪些学生时,可用单向关联 1.2.创建Teacher类和Student ...

  6. ege图形库之简单贪吃蛇(c++)

    第二次做动画显示效果的小程序,心血来潮想做下儿时的经典游戏----贪吃蛇.由于时间有限,只是简单地做了基本功能,有时间后再完善更多功能. 由于个人水平有限,可能代码有些地方可以改进.不足之处敬请指出. ...

  7. [pytorch] PyTorch Hook

      PyTorch Hook¶ 为什么要引入hook? -> hook可以做什么? 都有哪些hook? 如何使用hook?   1. 为什么引入hook?¶ 参考:Pytorch中autogra ...

  8. Linux Redis的性能展示

    我们可以通过redis-cli 连接上redis ,例如 : redis-cli -h 127.0.0.1 -p 6379 连接上redis,然后通过INFO查看redis的一些信息.我们可以查看一些 ...

  9. 用HQL自己写了个update!!!

    原来代码: public void updateSj(String jsly, Integer zu,String sj) { if (!StringUtils.isBlank(jsly)&& ...

  10. Leetcode题目94.二叉树的中序遍历(中等)

    题目描述: 给定一个二叉树,返回它的中序遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 思路解析: 1 ...