Git批量修改提交历史】的更多相关文章

有些时候我们可能需要批量修改提交历史,当然了,最近一次的提交历史很简单我们可以利用 git commit --amend 来进行最近一次提交的修改,如果你此时想要更新作者提交时间等也可以在amend之后加上 --date="$(date -R)" 但是很多时候我们需要更改的往往不是一条两条提交信息,有些时候需要批量更改提交历史,这个时候我们就可以用到git rebase -i(--interactive)这个选项了. 首先第一步,你需要确定你需要更改历史的范围,比如A-B-C-D,你此…
文章出处http://blog.csdn.net/wh_19910525/article/details/7468549  git log  查看 提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码: git clone git://github.com/schacon/simplegit-progit.git 然后在此项目中运行 git log,…
一.使用rebase 如图,红圈中提交的用户名及邮箱是需要改的,则需要复制需要改的提交记录的上一个记录hashcode,在本例中就是a0a891a48f92b51201042fccbe61ed12646eda5e git rebase -i a0a891a48f92b51201042fccbe61ed12646eda5e 也可以用HEAD~步长的方式,但如果提交记录很久远的话,算步长就不太现实,所以更推荐hashcode写法 git rebase -i HEAD~1 如果整个仓库只有1次提交,即…
1.查看提交历史 --  git log  使用 git log 可以查看到所有的提交(commit)历史. 1. $ git log 列出所有commit,最新的commit在最上面.会显示每个提交的作者,提交信息等. 2. $ git log -p -  显示最近的两次提交每个文件修改了哪些地方.-p用来显示每次提交修改了哪些地方.-2用于指定只显示最近的两次提交. 3. $ git log --stat --stat 显示每次提交简略的统计信息.具体包括:在每次提交的下面列出所有被修改过的…
查看提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码: git clone git://github.com/schacon/simplegit-progit.git 然后在此项目中运行 git log,应该会看到下面的输出: $ git log commit ca82a6dff817ec66f44342007202690a93763949 Au…
在SVN中,提交记录是无法修改的.比如说,当我们提交了某次修改后,发现该次提交中有错误时,只能将将补丁再次提交一遍.这样,就存在两次提交记录,没有保证提交的原子性. 在GIT中,由于提交是在本地进行的,因此如果没有发布之前,是允许使用reset命令来撤销提交记录的,这个命令有如下三种使用方式: git reset -soft: 只撤销commit,保留working tree和index file. git reset -mixed: 撤销commit和index file,保留working…
git log可以查看提交历史: 用-p选项展开显示每次提交的内容差异,用-2则仅显示最近两次的更新:git log -p -2 在-p选项后面使用--word-diff选项进行单词层面的对比.这其中新添加的单词会被[++]括起来,删除的单词会被[--]括起来. 更多选项:git log --stat 仅显示简要的增改行数统计. 选项:--pretty=后面可以接: oneline ==>将每个提交放在一行显示: short==>显示成三行(检校和,author email,标记) full=…
在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 Git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码: git clone git://github.com/schacon/simplegit-progit.git 然后在此项目中运行 git log,应该会看到下面的输出: $ git log commit ca82a6dff817ec66f44342007202690a93763949 Author: S…
git获取数字顺序版本号 因为git的版本使用的是hash值,不能很直观的看出那个版本,所以想找到一种方法,获取顺序的版本号,在网上找到了方法,可以获取顺序版本号 摘自:[使用bash从SVN和Git中获取顺序版本号](http://zengrong.net/post/1798.htm) 基准版本号默认是1,可以通过传递一个参数修改 get_version() { local base=${1:-1} echo $((`git rev-list --all|wc -l` + $base)) }…
首先,我们创建change.sh脚本,并根据个人信息复制以下脚本. #!/bin/sh git filter-branch --env-filter ' OLD_EMAIL="填写原来的邮箱" CORRECT_NAME="填写现在的名称" CORRECT_EMAIL="填写现在的邮箱" if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] then     export…