精华内容
下载资源
问答
  • git 几个commit点合并成一个commit

    万次阅读 多人点赞 2018-09-07 00:32:32
    1、在做1个功能的时候,你自己觉得代码没问题了,就本地commit,然后提交代码,在gitlab上发起和并请求,老大看完之后,觉得你还有修改的地方,把你的代码打回来重新修改,改完之后,本地commit,推到远程,再次...

       在用git做版本控制器的时候,经常会遇到以下情况:

       1、在做1个功能的时候,你自己觉得代码没问题了,就本地commit,然后提交代码,在gitlab上发起和并请求,老大看完之后,觉得你还有修改的地方,把你的代码打回来重新修改,改完之后,本地commit,推到远程,再次发起合并。到此功能做完,但是做完之后发现,你的一个功能commit了两次,当然根据实际情况有些时候你为了做一个功能,来回不止两次,这样子的提交会让这个分支看起来有点杂乱。那么你会想要将你的几次commit合并成一个commit后,再提交,那样子分支看上去会非常清爽。

       2、当你做功能的时候,你会遇到需要零时提交的情况(比如你在做A任务,突然来了B任务,在你A任务分支上你会先commit一次,等B任务做完,再回来继续做A,做完之后会再次commit),此时你的一个任务有会有多个commit存在。

        本文的主要目的是教你怎样将git中多次commit合并成一个commit。

    (1)git log看一下当前分支的提交情况,下图中有三个commit点。从先到后是:add 1 line,add 2 line, add 3 line。需求是:把add 2 line, add 3 line这两个commit点合并成一个commit点。

    (2)开始合并,敲下面这个命令:这里面的commitId是你要合并的两个commit后所形成的一个commitId需要跟着的commitId。在这边也就是add 1 line的commitId.

    git rebase -i commitId

    其中,-i 的参数是不需要合并的 commit 的 hash 值,这里指的是第一条 commit, 接着我们就进入到 vi 的编辑模式

     

    进入vi模式后,在键盘上敲i键进入insert模式。这时候先看看这里面的东西是什么含义,

    • pick 的意思是要会执行这个 commit
    • squash 的意思是这个 commit 会被合并到前一个commit

    我们这边需要将"add 3 line"这个commit合并前前一个commit,也就是合并到“add 2 line”的commit中,那就需要修改成如下的:

    修改完成后,按esc键,冒号,输入wq进行保存。之后会继续跳转到commit message 的编辑界面:

     

     

     

    注释中有写第一个commit信息和第二个commit信息,现在需要你合并这两个信息成一个commit信息。我这边合并成如下信息:

    然后你就保存退出,跳回到最初的命令界面:

    看到successfully的字样就说明成功了。再git log看一下commit情况:

    从图中就看到已经将add 2 line和add 3 line的commit合并成了this is combination of 2 commit。

    git修改老旧commit message的方法

    如果有对云原生和golang感兴趣的小伙伴可以关注我的公众号“云原生手记”,欢迎批评指正

     

    展开全文
  • IDEA 撤销 commit

    万次阅读 多人点赞 2018-12-20 17:10:41
    日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后在提交到本地,或者需要整合多次 commit ,然后 push 到远程仓库。下面是Ideal支持的快捷方式。 Undo Commit 2.可以在 Version Control ...

    日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后再提交到本地,或者需要整合多次 commit,然后 push 到远程仓库。下面是 IDEA 支持的快捷方式。

    1. Undo Commit
      在这里插入图片描述
      2.可以在 Version Control 查看到刚刚撤销的内容
      在这里插入图片描述
      此时,就可以从新 commit 代码了
    展开全文
  • 快速提交 git快速提交的工具。 该工具将提交所有更改并将当前分支推送到远程。 安装 go get github.com/svtter/commit 用法 commit commit [your commit message] 下一个 结合提交味精工具:
  • 修改commit信息 git log oneline -n,查看n条log信息 git rebase -i HEAD~n,n条commit进行rebase 将需要修改的commit信息,将pick命令改为 r 命令;ESC 输入 :wq 回车 开始修改commit信息,修改完,ESC 输入 :wq ...
  • commit-msg

    2018-05-25 11:02:59
    commit-msg 提交信息commit-msg 提交信息commit-msg 提交信息commit-msg 提交信息commit-msg 提交信息commit-msg 提交信息
  • Git撤销本地commit

    万次阅读 2018-04-18 19:45:50
    本人总是干这种挫事情:一顿操作猛如虎,各种git add,各种git commit,最后一看,我擦,还特么在master上,太吓人了,这咋办?——撤销commit: $ git commit -m "commit on master" $ git reset HEAD~ ...

    本人总是干这种挫事情:一顿操作猛如虎,各种git add,各种git commit,最后一看,我擦,还特么在master上,太吓人了,这咋办?——撤销commit:

    $ git commit -m "commit on master"
    $ git reset HEAD~     
    

    这样撤销了上面的commit。
    后续该回滚回滚,该新建分支新建分支。

    最后切记,时刻查看当前branch是个好习惯。

    当然我们撤销master上的commit无非就是想切到自己的branch上提交代码,那好,现在master上面不是有一个commit么,那么就在当前master上新建一个branch出来,注意一定要从master上切,也就是当前branch一定是master:

    $ git branch
    * master
    $ git branch -b my-branch
    $ git push origin my-branch
    

    这时候就能按照自己的branch提交代码了。
    事情完了吗,没完,因为master上的那个提交还没revert,怎么搞,很简单,就是最上面那个reset命令,外加checkout:

    $ git checkout master
    $ git reset HEAD~     
    $ git checkout .
    

    这样你的master branch就干净啦……

    展开全文
  • oracle 保证已经 commit 的数据是不会丢失的,最重要的一点是默认的commit动作会触发数据刷盘到 online redo log file,实现持久化. 默认的 commit 语句其实是 commit work write wait immediate. SQL> commit; ...

    os: centos 7.6
    db: oracle 19.3

    oracle 保证已经 commit 的数据是不会丢失的,最重要的一点是默认的commit动作会触将事务相关的未写入redo log file中的redo信息从redo log buffer写入到redo log file,实现持久化.
    默认的 commit 语句其实是 commit work write wait immediate.

    SQL> commit;
    
    Commit complete.
    
    SQL> commit work write wait immediate;
    
    Commit complete.
    
    

    commit 几个参数

    SQL> set lines 200;
    set pages 200;
    
    SQL> show parameter commit;
    
    NAME				     TYPE			      VALUE
    ------------------------------------ -------------------------------- ------------------------------
    commit_logging			     string
    commit_point_strength		     integer			      1
    commit_wait			     string
    commit_write			     string
    
    

    commit_write 参数

    在这里插入图片描述

    SQL> alter system set commit_write=nowait;
    
    

    alert 日志提示
    COMMIT_WRITE is deprecated,use COMMIT_LOGGING and COMMIT_WAIT instead.

    SQL> alter system reset commit_write scope=memory;
    
    

    commit_logging 参数

    在这里插入图片描述
    commit_logging 可以设置成 immeidate | batch,控制是否批量

    immediate 使日志写入进程(LGWR)将事务的重做信息写入日志。 此操作选项强制磁盘IO,因此可以降低事务吞吐量。
    batch 会先缓存事务的redo,达到一定的量后再写入到log中,这称为"组提交".
    默认是immediate模式

    commit_wait 参数

    在这里插入图片描述
    commit_wait 可以设置成 nowait | wait | force_wait

    wait 只是在redo写到磁盘上后commit才会返回,不管是batch还是immeidate方式,客户端接受到commit的成功消息,那么事务就已经是持久化的了。
    nowait 就是不管写没写完,都告诉客户端完成了。可能会导致数据的的丢失,但是速度更快了。

    SQL> alter system set commit_logging=batch;
    alter system set commit_wait=nowait;
    
    
    SQL> show parameter commit;
    
    NAME				     TYPE			      VALUE
    ------------------------------------ -------------------------------- ------------------------------
    commit_logging			     string			      BATCH
    commit_point_strength		     integer			      1
    commit_wait			     string			      NOWAIT
    commit_write			     string			      NOWAIT
    
    

    修改 commit_logging、commit_wait 的默认行为有可能导致数据库在异常时已commit的数据丢失.请慎重修改

    参考:
    https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/COMMIT_WRITE.html#GUID-F392FBE5-848D-439E-B470-73A5FEC31C61
    https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/COMMIT_WAIT.html#GUID-40E51330-96D0-4B98-BBF3-6A45D970AAB1
    https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/COMMIT_LOGGING.html#GUID-21B4D3A1-21D2-4B3F-A976-2C7FBFE7DC57

    展开全文
  • git修改已commit的注释信息

    万次阅读 多人点赞 2018-06-27 14:05:20
    有时候commit后发现注释不太合适需要修改,网上查找了一些方法,经测试后整理一下。 环境:windows 情况:commit后未push 修改前情况: 修改步骤 1、输入命令,进入vim界面 git commit –amend ...
  • git使用情景2:commit之后,想撤销commit

    万次阅读 多人点赞 2016-12-13 16:42:11
    执行完commit后,想撤回commit,怎么办? 这样凉拌: git reset --soft HEAD^ 这样就成功的撤销了你的commit 说一下个人理解: HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤
  • 文章目录Git修改已提交commit的message信息修改最近一次commit的message修改之前commit的message合并commit合并连续的commit合并间隔的commit要合并的commit是最上级的情况 Git修改已提交commit的message信息 修改...
  • 解决:Changes not staged for commit:

    万次阅读 多人点赞 2019-12-10 13:41:40
    1. git push 报错: 2. 提交时加上参数:-a ,表示新增。 git commit -am "提交说明" 提交成功。
  • 在git的历史commit中,有时候会有一些commit是当前分支不需要的,但是由于误操作,将其他分支的代码合并到当前分支,导致在历史的一堆commit中混入了不需要的代码, 但是又不能直接使用reset回滚,因为在这一堆...
  • git commit

    千次阅读 2019-05-09 10:59:19
    1Git commit常见用法 1.1 git commit -m “message” 1.2 git commit -a -m “massage” 1.3 git commit --amend 1.4 git commit --help 2 git commit -m 和 git commit -am的区别 git教程:...
  • idea git commit之后,想撤销commit

    万次阅读 多人点赞 2020-04-24 15:45:38
    问题:idea提代码后,想撤销commit,怎么办捏??(T_T) To Cimmit:里面填写 HEAD~1 点击Reset即可撤销上次commit的内容; 下面会详细介绍Reset Type:Mixed To Commit : HEAD~1 具体是什么意思!! 简单...
  • git (idea里 撤销commit

    万次阅读 多人点赞 2021-08-15 22:44:43
    撤销操作 To Cimmit:里面填写 HEAD~1 点击Reset即可撤销上次commit的内容
  • lucky-commit:自定义您的git commit哈希!
  • pre-commit使用commit之前的检测办法

    千次阅读 2019-02-16 11:42:24
    安装pre-commit包 npm install pre-commit --save-dev 第二步 修改package.json, 增加pre-commit字段 // 例子, 在提交之前运行tslint "scripts": { "tslint-fe": "...
  • git commit后,如何撤销commit

    千次阅读 2020-07-16 10:03:36
    执行commit后,还没执行push时,想要撤销这次的commit,该怎么办? 解决方案: 使用命令: git reset --soft HEAD^ 这样就成功撤销了commit,如果想要连着add也撤销的话,--soft改为--hard(删除工作空间的改动...
  • Git commit emoji 食用指南

    万次阅读 2020-06-09 12:04:25
    执行 git commit 时,使用 Emoji,可凸显提交信息,易于区分和查找提交历史 Commit 格式 提交信息遵从以下格式: :emoji: :emoji: 不超过 50 个字的摘要,首字母大写,使用祈使语气,句末不加标点 常用 Emoji ...
  • Git 合并多次 commit 、 删除某次 commit

    万次阅读 多人点赞 2018-07-21 16:12:17
    有时候在一个分支的多次意义相近的 commit,会把整个提交历史搞得很混乱,此时可以将一部分的 commit 合并为一个 commit,以美化整个 commit 历史,可以使用 rebase 的方法来合并多次 commit,主要步骤如下: ...
  • 最后查找原因:我没有修改过文件,再次提交到码云的分支上,导致git判断我没有更改,从而不能commit。 解决办法: 办法一:可以分为两步上传:(比较麻烦) 1.先提交到github 2.将最新的代码复制一份到码云的文件夹...
  • 一、问题描述 push大文件失败,在将大文件删除之后,其余小文件仍然受到之前大文件push失败的影响,无法...2、使用git log命令查看commit的历史记录及其对应的commit_id,查看结果如图: 3、复制commit_id,使...
  • SVN commit error:is part of the commit

    千次阅读 2020-03-11 17:24:58
    SVN在commit时遇到以下错误: 试着commit文件的父目录试试。
  • MySQL binlog group commit--commit stage

    千次阅读 2017-09-17 15:35:22
    1、process_commit_stage_queue:调用调用ha_commit_low->innobase_commit进入innodb层依次提交 2、 process_after_commit_stage_queue:如果是半同步会调用after_commit处理超时 3、signal_done唤醒其他follower...
  • squash commit合并多个commit

    万次阅读 2017-10-18 15:39:04
    在使用 Git 作为版本控制的时候,在我们开发完分支后,一般分支上会有很多 commit,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。在合并到主干的时候,往往这类 ...
  • git commit时避免填写Commit Message

    千次阅读 2019-09-14 17:13:34
    git commit --allow-empty-message -m '' Reference: https://stackoverflow.com/questions/6218199/git-commit-with-no-commit-message
  • $ validate-commit-msg创建到./lib/validate-commit-msg.js的符号链接.git/hooks/commit-msg ,该链接在每次提交时执行。 钩子脚本根据在每次提交时验证提交消息。 安装 $ npm install validate-commit-message ...
  • Git commit-tree 与 Git commit的区别

    千次阅读 2019-01-24 00:26:47
    'git commit-tree'指令基于一个tree的hash id创建了一个commit对象。 'git commit'则是将暂存区的内容放到仓库。暂存区的通常通常是一个commit对象。 所以,我们可以看到,要将这个commit-tree放入仓库中我们仍...
  • Git commit基础用法

    千次阅读 2019-09-04 15:34:30
    每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 968,335
精华内容 387,334
关键字:

commit