首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
美化git commit历史
】的更多相关文章
美化git commit历史
为什么要美化commit历史? 答:假如一个分支的多次意义相近的 commit,会把整个提交历史搞得很混乱, 此时可以将几个commit 合并为一个 commit,以美化整个 commit 历史. 怎么操作? 答: ①git log 看一下历史提交. ② git rebase -i HEAD~5 对最近的 5 个 commit 进行 rebase 操作(假如你想合并这5个commit),出现下面的编辑页面,改pick为fixup . ③git rebase --continue 继续. ④ gi…
git rebase -i命令修改commit历史
[TOC] 修改commit历史的前提 修改历史的提交是可能有风险的,是否有风险取决于commit是否已经推送远程分支,未推送,无风险,如果已推送,就千万不要修改commit了. 修改commit历史,不是在原有commit结点上修改,而是用一个新的结点替换原来结点,所以,修改后commit id是不样的. 所以修改commit历史的前提是,提交未推送远程仓库!提交未推送远程仓库!提交未推送远程仓库!,重要的事情说三遍. 修改最近的一次提交 修改最近的一次提交非常简单,通过git commit…
修改git以往历史中所有commit的name和email
当换了新的电脑设备或者在 homestead 中使用 git 的时候:如果忘了 git config 设置用户名和邮箱:这样当 git commit 的时候就会使用设备名作为 git 用户名:或者我们还可能手抖设置了错误的用户名和邮箱:然后再一不小心推到了服务器或者 github 上后就尴尬了:这时候就需要下面的脚本来批量修改历史 commit 中的用户名和邮箱了:在项目跟目录下创建如下脚本文件 email.sh #!/bin/sh git filter-branch --env-filter…
Git 实用操作:重写 Commit 历史
当我们修改完代码,提交了一个 commit,然后发现改错了,怎么修正?下面分两种情况来讨论:修正最近一次提交,和修正历史多个提交. 修正最近一次提交 如果发现刚刚提交的内容有错误,当场再修改一下再提交一个新 commit 不就可以么?可以是可以,不过还有一个更加优雅和简单的解决方法: git commit --amend "amend" 是"修正"的意思.在提交时,如果加上 --amend 参数,Git 不会在当前 commit 上增加 commit,而是会把当前…
Git 修改历史提交信息 commit message
修改最近一条提交的消息 git commit --amend 进入vim模式 按字母 o 或者 insert键 开始修改内容 按 esc 推出编辑,最常用的是输入":q"直接退出,输入":wq"进行保存并退出. 修改过去若干条 Commit git log 查看提交记录,可以看到commit记录 包括commitId,-i后面的参数为需要修改的commit前一次 对应的 commitId git rebase -i 8876a66df1ea4a7e911c271b2…
Git修改历史commit的author信息
前言 "嘀嗒嘀嗒",抬头看向墙上的钟表,此时已是凌晨1点.小明终于把Go语言圣经第二章的笔记写完,保存commit,提交,然后睡觉. 额,等等,不对,小明发现他用的是公司的git账号,git log一看,最新的commit的Author信息里是公司的邮箱地址,尴尬了,难道小明要重新写一遍?"不要啊~",小明抓狂到. 突然,画面暂停,Git博士从幕后走出,原来是一场电影.Git博士说:"同学们,刚才的案例如果是大家遇到,应该怎样?",接着说:&qu…
[转]Git - 重写历史
转自http://git-scm.com/book/zh/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E5%86%99%E5%8E%86%E5%8F%B2 重写历史 很多时候,在 Git 上工作的时候,你也许会由于某种原因想要修订你的提交历史.Git 的一个卓越之处就是它允许你在最后可能的时刻再作决定.你可以在你即将提交暂存区时决定什么文件归入哪一次提交,你可以使用 stash 命令来决定你暂时搁置的工作,你可以重写已经发生的提交以使它们看起来是另外一种样子.这个包括…
[译]git commit --amend
git commit --amend命令用来修复最近一次commit. 可以让你合并你缓存区的修改和上一次commit, 而不是提交一个新的快照. 还可以用来编辑上一次的commit描述. 记住amend不是修改最近一次commit, 而是整个替换掉他. 对于Git来说是一个新的commit. 用法 git commit --amend 合并缓存区的修改和最近的一次commit, 然后用生成的新的commit替换掉老的. 如果缓存区没有内容, 那么利用amend可以修改上一次commit的描述.…
[译]git commit
git commit git commit命令提交stage区的快照到项目历史中去(HEAD). 被提交的快照被认为是一个项目的安全版本. Git不会修改他们, 除非你显示的要求了. 和git add一样git commit是Git最重要的命令之一. 尽管名字相同git commit和svn commit完全不一样. 快照被提交到本地仓储, 不会和其他git仓储有任何的交互影响. 用法 git commit 提交stage区的快照. 上面的命令运行后会自动打开一个文本编辑器让你写一些关于这次c…
git commit的--amend选项
git commit --amend常常用来修改某个branch上最顶端的commit,大多数情况下,这个命令给人的感觉是用新的commit替换了原来的commit.git commit --amend与下面的语句等价: git reset --soft HEAD^ //将branch的头指针向前移动一个commit,--soft选项使得index和workspace tree的内容保持移动之前不变 ...do something... git commit -c ORIG_HEAD //-c选…