GitKraken使用教程-基础部分(5)
7. 提交代码
1) 查看文件改动
修改了某个文件后,在程序右侧会出现已修改文件的列表(如图 1‑1),这里以Test.git 为例,修改了19264.h 的文件编码,将其改为utf8。Unstaged Files 方框内就会出现为19264.h

图 1‑1尚未暂存的文件
点击这一项,GitKraken的左侧区域和中央区域就会变成文件比较器,如图。

图 1‑2文件比较器(Diff View)
该图是以Diff View的形式显示文件,也就是显示当前提交和上次提交时该文件改动的位置。红色部分表示这次提交所删除的内容,绿色部分表示这次提交所增加的内容。
点击Diff View旁边的File View(图中的右上角)即可用普通的文本显示器形式查看文件内容。
这里可以看到改动的部分是将乱码的内容全部重新正确解码了。
2) 按文件进行提交
对代码进行修改后,如果认为这次修改的所有文件都没有问题,可以将所有文件全部存入暂存区,然后填写CommitMessage,具体步骤如下:
- 点击右侧
(见图 1‑3中显示的绿色按钮)按钮可以把已经修改的所有文件存放到暂存区中。

图 1‑3 暂存文件
如果只想提交某几个文件,鼠标移至该项所在位置,右侧即会出现 按钮,如图 1‑4,点击就可以将这一个文件存放到暂存区(图 1‑4)。
2. 存到暂存区后,在暂存区就会出现这个文件:

图 1‑4 暂存区中的文件
3. 接下来填写CommitMessage(至少需要填写Summary),提交(commit)到工作目录,就能生成一个提交记录,便于以后回退代码版本或进行其它操作。

图 1‑5 Commit Message 方框
3) 提交文件中的一部分代码
提交代码时,如果不想提交整个文件,可以在GitKraken中点开该文件的比较视图(Diff View),比较上一次代码提交和本次修改的内容。
从图 1‑6中可以看到,GitKraken已经将改动的代码按照区域进行分块了。
鼠标移至该块,右上方会出现一个
按钮和
按钮。如下图:

点击
将会暂存这一块修改的内容,保留绿色部分(即保留+2 ~ +4 行的内容,丢弃 -2 ~ -4 行的内容),
将会丢弃掉改动的这一部分,保留红色的部分(保留-2 ~ -4 行的内容,丢弃 +2 ~ +4 行的内容)。
以19264.h为例,若保留一部分修改过的内容和一部分修改之前的内容,那么该文件既会存在于Unstaged Files列表中,也存在于Staged Files列表中,这是因为该文件还有部分没有提交到暂存区中。
从19264.h文件编码改为utf8后的提交记录开始,在文本编辑器中已经将LCD_Send_1 函数整个删除,红色区域就对应着代码的删除记录。若现在只需要删除 LCD_Send_1 函数中的switch判断语句,即图中的 -45 ~ -50 行代码。

图 1‑7 删除文件的一部分
注意到,鼠标移动到改动区域的某一行时,该行左侧会出现一个
按钮,点击该按钮就会确认这个修改。

图 1‑8 保留文件修改
现在需要保留 -36 ~ -63 行的内容,点击图中的
按钮,该界面会出现提示:File contents are unchanged. 而 Unstaged Files 列表中仍有 19264.h 文件,
点击列表中文件右侧的
按钮,将该文件提交到暂存区即可。将会提交的内容如下:

图 1‑9 暂存区中的文件
可以看到,将要提交的文件(记为A2)与之前的文件(记为A1)相比,少了A1中的45~50行,填写Commit Message,提交到工作目录。在文本编辑器中查看,能够发现LCD_Send_1 函数中的 switch 语句已经删除。
GitKraken使用教程-基础部分(5)的更多相关文章
- GitKraken使用教程-基础部分(4)
6. 打开现有的Git仓库 点击左上角 File ==> open repo ,出现如图 6‑1的界面: 图 6‑1 打开本地仓库 点击图中的 按钮就会出现一个对话框,如图 6‑2,以 G:\ ...
- GitKraken使用教程-基础部分(3)
5. 克隆服务器上的项目 首先,返回主界面,点击File => Clone Repo,选择 Clone with URL,如下图: 图 5‑1 SSH方式克隆仓库界面 1) SSH 方式连接仓库 ...
- GitKraken使用教程-基础部分(2)
3. 修改用户名 为了方便项目中代码的管理,需要重新编辑用户名. 点击右上角的图像即可看到如下图 3‑1所示的下拉菜单,鼠标悬于Profile上,会出现一个Edit按钮. 图 3‑1 编辑个人信息 点 ...
- GitKraken使用教程-基础部分(1)
1. 首次打开程序 第一次打开GitKraken程序时, GitKraken会提示需要登陆,可以用github.com的账号登陆,或者用邮箱创建账号登陆(如图 1‑1). 图 1‑1登陆帐户界面 登陆 ...
- GitKraken使用教程-基础部分(9)
10. 合并分支并解决冲突(conflict) 1) 合并分支 在代码管理过程中,切换分支或者同步服务器代码时,常常会出现代码冲突的情况,这种情况出现的原因一般是由于两个分支对同一个文件进行修改, ...
- GitKraken使用教程-基础部分(8)
9. 远程(Remote)仓库 1) 添加远程仓库 一般在本地新建仓库后,需要添加一个远程仓库用于push/pull代码.鼠标移至GitKraken左侧区域的REMOTE栏,点击 该栏右边出现的 按 ...
- GitKraken使用教程-基础部分(7)
8. 本地分支和标签 1) 在提交记录区中查看分支状态 提交记录区中每一个分支都位于一个提交记录所在的行中. 从图 2‑1中可以看到,服务器上的master分支停留在整理格式(把这个提交记录记为or ...
- GitKraken使用教程-基础部分(6)
4) 放弃本次文件的改动 有些情况下,由于更改代码造成了编译无法通过等错误时,想要放弃这次对文件的修改,将文件还原成上一次提交后的状态,一种简单的恢复文件的方法就是,在Unstaged Files 列 ...
- iOS10 UI教程基础窗口的内容与设置起始窗口
iOS10 UI教程基础窗口的内容与设置起始窗口 iOS10 UI教程基础窗口的内容与设置起始窗口,本章我们从iOS10开发中UI的基础知识开始讲解,其中包括了窗口.视图以及UI层次结构和Views的 ...
随机推荐
- code manager toos TotoiseSVN解锁
TotoiseSVN解锁 一.出现的原因: 1.是开发人员手动锁定了. 2.是由于版本错乱造成的锁定. 二.解决方案: 1.使用客户端解决方案: (1)删除本地副本,重新获取文件. (2)可以先尝试c ...
- myql 服务启动不了怎么办
今天,不小心手动将mysql 服务停掉后,怎么也启动不了,后面查了半天 ,终于知道要先将任务管理器里的mysql.exe 先Kill掉,然后可以启动了,记录一下
- 洛谷 P3586 [POI2015]LOG
P3586 [POI2015]LOG 题目描述 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它 ...
- 6.House Robber(简单版抢银行)
Level: Easy 题目描述: You are a professional robber planning to rob houses along a street. Each house ...
- How to pass multiple parameters in PowerShell invoke-restmethod
Link: http://www.tagwith.com/question_322855_how-to-pass-parameters-in-powershell-invoke-restmethod- ...
- C语言中的预处理命令
预处理功能是C语言的重要功能. 问:为什么要预处理,什么是预处理? 答:我们知道高级语言的运行过程是通过编译程序(编译器)把源代码翻译成机器语言,实现运行的.编译程序的工作包含:语法分析.词法分析.代 ...
- SQL语句 ANSI_NULLS 值(ON|OFF)的含义
官方说明: 1.当 SET ANSI_NULLS 为 ON 时,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 语句仍返回零行. 即 ...
- BZOJ 3631 松鼠的新家 树上差分
我猜会有智障说直接链剖+线段树…(希望没有) From RYC's 课件 然鹅我并不反对树剖...我是智障...QAQ 好吧还是树上差分:设 a[i]=u.a[i+1]=v ++w[u],++w[v] ...
- maven set MAVEN_OPTS
http://juvenshun.iteye.com/blog/240257 https://docs.alfresco.com/5.1/tasks/alfresco-sdk-install-mave ...
- 4 练习: 使用eclipse开发
1 练习: 使用eclipse开发 1.1 练习目标 本例讲述在使用eclipse如何创建groovy程序. 1.2 创建new Groovy project 本例假设你已经安装好了g ...