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. 点击右侧  (见图 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)的更多相关文章

  1. GitKraken使用教程-基础部分(4)

    6. 打开现有的Git仓库 点击左上角 File ==> open repo ,出现如图 6‑1的界面: 图 6‑1 打开本地仓库 点击图中的  按钮就会出现一个对话框,如图 6‑2,以 G:\ ...

  2. GitKraken使用教程-基础部分(3)

    5. 克隆服务器上的项目 首先,返回主界面,点击File => Clone Repo,选择 Clone with URL,如下图: 图 5‑1 SSH方式克隆仓库界面 1) SSH 方式连接仓库 ...

  3. GitKraken使用教程-基础部分(2)

    3. 修改用户名 为了方便项目中代码的管理,需要重新编辑用户名. 点击右上角的图像即可看到如下图 3‑1所示的下拉菜单,鼠标悬于Profile上,会出现一个Edit按钮. 图 3‑1 编辑个人信息 点 ...

  4. GitKraken使用教程-基础部分(1)

    1. 首次打开程序 第一次打开GitKraken程序时, GitKraken会提示需要登陆,可以用github.com的账号登陆,或者用邮箱创建账号登陆(如图 1‑1). 图 1‑1登陆帐户界面 登陆 ...

  5. GitKraken使用教程-基础部分(9)

    10.  合并分支并解决冲突(conflict) 1) 合并分支 在代码管理过程中,切换分支或者同步服务器代码时,常常会出现代码冲突的情况,这种情况出现的原因一般是由于两个分支对同一个文件进行修改, ...

  6. GitKraken使用教程-基础部分(8)

    9.  远程(Remote)仓库 1) 添加远程仓库 一般在本地新建仓库后,需要添加一个远程仓库用于push/pull代码.鼠标移至GitKraken左侧区域的REMOTE栏,点击 该栏右边出现的 按 ...

  7. GitKraken使用教程-基础部分(7)

    8.  本地分支和标签 1) 在提交记录区中查看分支状态 提交记录区中每一个分支都位于一个提交记录所在的行中. 从图 2‑1中可以看到,服务器上的master分支停留在整理格式(把这个提交记录记为or ...

  8. GitKraken使用教程-基础部分(6)

    4) 放弃本次文件的改动 有些情况下,由于更改代码造成了编译无法通过等错误时,想要放弃这次对文件的修改,将文件还原成上一次提交后的状态,一种简单的恢复文件的方法就是,在Unstaged Files 列 ...

  9. iOS10 UI教程基础窗口的内容与设置起始窗口

    iOS10 UI教程基础窗口的内容与设置起始窗口 iOS10 UI教程基础窗口的内容与设置起始窗口,本章我们从iOS10开发中UI的基础知识开始讲解,其中包括了窗口.视图以及UI层次结构和Views的 ...

随机推荐

  1. 删除XML文档中某节点

    前几天Insus.NET在写了一系列XML文档进行操作.创建 <怎样创建XML文档> http://www.cnblogs.com/insus/p/3276944.html       & ...

  2. 判断某元素是否在Array中

    几年前,Insus.NET有尝试把Array转换为IList接口,然后使用IList.Contains()方法.当时评论时,也引起了一些异议.原博文地址:http://www.cnblogs.com/ ...

  3. framwork maven的配置及使用

    maven的配置及使用 一.什么是maven: 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要 ...

  4. Django之后台管理二

    前面讲到admin界面用户的注册以及修改,如果我们注册的用户密码忘记了该怎么办呢 在终端输入如下的命令进行重置 D:\django_test2>python manage.py shell Py ...

  5. ubuntu安装软件-笔记

    手动安装过程 下载 - 配置文件 常用命令: sudo  dpkg -i ******.deb 问题&解决思路 问题1:依赖项 - 缺少某一个依赖包 解决尝试: 1 . sudo apt-ge ...

  6. VB-机房收费系统之Excel导出

    敲机房很久了,感觉对代码的感知力终于有所提高了,很是开心.今天在敲学生充值记录查询的时候发现,其中有了新的知识,  这时候就该到了分析问题的时候了.不说废话了! 首先 保证自己的笔记本或者电脑上必须有 ...

  7. Jenkins利用官网上的rpm源安装

    官网网址:https://pkg.jenkins.io/redhat/                (官网上有安装的命令,参考网址) 安装jdk yum install -y java-1.8.0- ...

  8. css3文本域焦点烟花效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Kibana6.x.x源码开发——执行 yarn start --no-base-path 启动命令后报错

    错误信息如下: Unhandled rejection Error: Request Timeout after 30000ms at /home/kibana_git/kibana6.2.2/nod ...

  10. P2575 高手过招

    传送门 直接搞好像搞不了 考虑转换模型 显然每一行棋子不会跑到其他行.. 所以可以把每一行的情况看成一个子博弈 显然整个答案就是每一行的SG值的异或和 不懂的回去学SG函数... 考虑怎么分析一行的状 ...