Git分块提交文件
用 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分块提交文件的更多相关文章
- git 命令提交文件
方法/步骤 打开要添加的文件的位置,右键,点击下面强调的内容,进入命令页面 先执行命git pull,这是提交的基本操作, git status,查看现在当前的文件状态 没有看到你现在要添加的文件 ...
- 如何使用git命令添加文件和提交文件
1.进入指定文件夹内,启动 git bash here 2. 初始化文件夹 git init 3.开始添加文件 所有文件添加方法 git add . 单个文件添加方法 git add *.* 例如我的 ...
- git gui 还原部分提交文件
有时候用git提交文件的时候会一起提交了多个文件,但是突然后悔了,想把其中一个文件撤销提交,其他文件不做修改.这个时候该怎么办呢? 我觉得有很多办法,比如可以先checkout到上次的提交,然后复制要 ...
- git 撤销提交的文件
一.问题 近期在使用git时遇到一个问题,就是在git上传文件时,将一个100兆的大文件添加到了git,并执行了push操作,这时在上传完毕后,会提示这个错误 Large files detected ...
- git忽略某些文件提交
git忽略某些文件提交 在项目中有些配置文件不需要提交,但是有同学在后面开发中发现在.igonore文件中无论如何都无法忽略某些文件的提交.原因在这里: 已经维护起来的文件,即使加上了gitign ...
- Git学习之路(3)-提交文件到三个区
▓▓▓▓▓▓ 大致介绍 年过的差不多了,开始学习!小白学Git(持续更新) Git有三个工作区域: ◆ 工作区(Working Directory) ◆ 暂存区(Stage) ◆ 版本库(Reposi ...
- 使用Git将本地文件提交到远程仓库
一 操作准备条件: git远程仓库已经建好了,本地文件已经存在了,现在要将本地代码推到git远程仓库保存. 解决办法如下: 1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以 ...
- git查看某个文件的提交记录
git log --pretty=oneline 文件路径/文件名 git show 提交id
- git纯净提交代码(只提交自己改过的文件)
添加远程仓库,这个远程仓库是要进行发起合并请求的仓库,简单来说就是项目的主要代码库,不是自己派生的代码库 git remote add main http://xxx 从远端仓库下载新分支与数据gi ...
随机推荐
- SARS病毒 (生成函数 + 快速幂)
链接:https://ac.nowcoder.com/acm/contest/992/A来源:牛客网 题目描述 目前,SARS 病毒的研究在世界范围内进行,经科学家研究发现,该病毒及其变种的 DNA ...
- MyBatis中的OGNL教程
MyBatis中的OGNL教程 有些人可能不知道MyBatis中使用了OGNL,有些人知道用到了OGNL却不知道在MyBatis中如何使用,本文就是讲如何在MyBatis中使用OGNL. 如果我们搜索 ...
- 长春理工大学第十四届程序设计竞赛D Capture The Flag——哈希&&打表
题目 链接 题意:给定一个字符串 $s$,求不同于 $s$ 的字符串 $t$,使得 $Hash(s) = Hash(t)$,其中 $\displaystyle Hash(s) = \sum_0^{le ...
- 计数dp做题笔记
YCJS 3924 饼干 Description 给定一个长度为\(n\)的序列,序列每个元素的取值为\([1,x]\),现在给定\(q\)个区间,求在所有取值方案中,区间最小值的最大值的期望是多少? ...
- 题解 [CF332C] Students' Revenge
题面 解析 辣鸡题面毁我青春 因为翻译的题面中写了一句\(剩下的n−k个不会完成\). 所以就以为剩下的\(n-k\)个都会算上不满意值. (然而事实是只有\(p-k\)个...) 首先根据主席的规则 ...
- 之前写的关于chromedp的文章被别人转到CSDN,很受鼓励,再来一篇golang爬虫实例
示例说明:用chromedp操作chrome,导航到baidu,然后输入“美女”,然后再翻2页,在此过程中保存cookie和所有img标签内容,并保存第一页的baidu logo为png 注释已经比较 ...
- 【CUDA 基础】6.0 流和并发
title: [CUDA 基础]6.0 流和并发 categories: - CUDA - Freshman tags: - 流 - 事件 - 网格级并行 - 同步机制 - NVVP toc: tru ...
- 关于 ESIM 网络的 资料 集合
1.https://blog.csdn.net/wcy23580/article/details/84990923 原理及Python keras 实现 2.https://www.kaggle.co ...
- git避免提交本地配置文件-来自同事的分享
在项目协作中,对于已经更改的文件,不同的开发者常常需要根据自己的需要对文件进行更改已满足本地开发环境的需求(这种情况很常见,一般是对项目相关的配置项的更改,对业务逻辑代码的更改一般都是正常的协作编码过 ...
- CentOS7遇到问题总结
问题1.保护多库版本:libstdc++-4.8.5-28.el7_5.1.i686 != libstdc++-4.8.5-28.el7.x86_64 错误:保护多库版本:libgcc-4.8.5-2 ...