首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
[转]Git - 重写历史
】的更多相关文章
[转]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 重写历史 filter-branch
source:https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E9%87%8D%E5%86%99%E5%8E%86%E5%8F%B2 重写历史 很多时候,在 Git 上工作的时候,你也许会由于某种原因想要修订你的提交历史.Git 的一个卓越之处就是它允许你在最后可能的时刻再作决定.你可以在你即将提交暂存区时决定什么文件归入哪一次提交,你可以使用 stash 命令来决定你暂时搁置的工作,你可以重写已经发生的提交以使它们看起来是另外一种样…
git 重写历史
重写最后一次提交的commit git commit --amend 修改多个历史 git rebase -i HEAD~3 命令执行后结果如下: pick f7f3f6d changed my name a bit pick 310154e updated README formatting and added blame pick a5f4a0d added cat-file # Rebase 710f0f8..a5f4a0d onto 710f0f8 # # Commands: # p,…
git合并历史提交
背景 以前一直觉得只要pull和push就够了,但合作中总会遇到各种非理想的情况.这时候才发现git其他命令的作用. 现在的情况是,repo是一个远程team维护的,我们需要增加新feature,那么就是一个feature分支了.由于开发中各种修改,本feature分支多次commit.最后,交给远程team review的时候,人家看着乱七八糟的修改历史很蛋疼:很难看懂各种增量修改.其实,对人家来说,我们的改动应该就是增加或者删除.给他们看开发过程的增量反而太乱.于是,人家要求我们将featu…
git 修改历史提交信息
当你不小心,写错了提交的注视/信息,该如何处理呢.理论上,SCM是不应该修改历史的信息的,提交的注释也是. 不过在git中,其commit提供了一个--amend参数,可以修改最后一次提交的信息.但是如果你已经push过了,那么其历史最后一次,永远也不能修改了. 我使用git commit --amend已经push过的,截图如下,我那个"fixes #3"永远的在版本历史中了. git commit --amend 的用法,,, # git commit --amend 然后…
Git提交代码规范 而且规范的Git提交历史,还可以直接生成项目发版的CHANGELOG(semantic-release)
Git提交代码规范 - 木之子梦之蝶 - 博客园 https://www.cnblogs.com/liumengdie/p/7885210.html Commit message 的格式 Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交. 用commit message最好是能有规范和工具的约束. 每次提交,Commit message 都包括三个部分:header,body 和 footer. 其中,header 是必需的,body 和 footer 可…
三分钟教你学Git(十八) - 重写历史
git filter-branch 同意你使用一个单一命令来大范围地更改历史.所以这个命令要慎用. 1假如你想对全部的commits删除一个文件. git filter-branch --tree-filter 'rm to_be_deleted_file' HEAD 2 假如你想删除某些message中的某些以cr开头的行. git filter-branch --msg-filter ' sed -e "/^cr: /d" ' 3 将仓库变成以new_home文件夹为项目父文件夹.…
git重写历史记录
1 修改上一次历史提交,替换掉上次的提交git commit --amend 2 git rebase 将不同分支路径合并到同一分支路径上eg:将master分支上的 conflic rebase合并到 head分支上* ada88de(HEAD, test_rebase)Initial commit on test_rebase| *2a4a11f (master) coflict rebase| /|/* ac75384 This is a amend commit $ git rebase…
git 版本历史
版本:git rev-parse --git-dir显示Git版本库的位置 --show-cdup显示当前工作区目录的深度 --parseopt解析命令行参数 $ git rev-parse --symbolic --branches 显示分支 $ git rev-parse --symbolic --tags 显示里程碑 $ git rev-parse --symbolic --glob=refs/* 显示定义的所有引用.其中refs/remotes/目录下的引用称为远程分支(或远程引用…
Git基本命令 -- 历史
历史. 收先需要了解一下git log命令, 使用git的帮助看看: git help log: 执行该命令后, 我的win10弹出来一个html页面, 里面是git log命令的帮助: 首先看看git log命令不加参数会有什么效果: 显示了commit的历史, 按时间从最新到最老. 看一下每一个commit, commit后边跟着的是唯一ID, 下面是作者和时间, 最下面就是commit的信息了. 然后可以输入q退出这个log画面. 然后试试几个参数 git log --online --g…
修改git以往历史中所有commit的name和email
当换了新的电脑设备或者在 homestead 中使用 git 的时候:如果忘了 git config 设置用户名和邮箱:这样当 git commit 的时候就会使用设备名作为 git 用户名:或者我们还可能手抖设置了错误的用户名和邮箱:然后再一不小心推到了服务器或者 github 上后就尴尬了:这时候就需要下面的脚本来批量修改历史 commit 中的用户名和邮箱了:在项目跟目录下创建如下脚本文件 email.sh #!/bin/sh git filter-branch --env-filter…
查看本地Git仓库历史修改内容
查看历史内容 在.git文件 同级目录下,右键 选择 git history 但是红框中的路径无法拷贝.右键红框中的任一文件,有 HighLight this only, Highlight this too 高亮显示,试试看就知道效果了. 查看两个版本之间的所有变更集 在.git文件 同级目录下,右键 选择 git bash.使用命令 git diff --name-status HEAD~2 HEAD~3 若想查看最近三次提交的变更内容,命令是:git diff --name-status…
git查看历史操作
在提交了若干更新,又或者克隆了某个项目之后,偶尔想回顾下过往提交历史.可以使用git log命令来实现. 最简单的查看提交历史命令如下: $ git log $ git log --oneline $ git log --oneline --decorate --graph --all 它会输出提交历史.各个分支的指向以及项目的分支分叉情况…
Git清空历史,清空历史删除的文件,降低.git 文件大小
执行以下步骤之前 请做好源码备份 本操作用来清理github上面的历史删除文件,减少库的体积. 第一步骤 下载JDK环境和JAR包 https://rtyley.github.io/bfg-repo-cleaner/ 配置JAVA 系统变量 第二步骤 克隆GIT库 git clone --mirror git@github.com:944095635/DMSkin.git 第三步骤 (删除128K以上的文件) java -jar bfg.jar --strip-blobs-bigger-than…
美化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 修改历史 commits 中的用户名和邮箱
一.作用 修改某个仓库历史 commit 的用户 name 和 email 信息. 将历史提交记录中的指定 name/email 修改为新的 name/email. 二.步骤 确认本地全局邮箱/用户名 查看仓库的历史提交信息 批量修改历史记录中的信息 将修改结果推送到远程 1. 确认本地全局邮箱/用户名 使用下面两个命令查看 git 在本地的全局邮箱和用户名. bash git config user.name git config user.email 如果需要修改 git 在本地的全局邮箱和…
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的历史和安装Git及环境配置
Git历史同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代. Linux 内核开源项目有着为数众广的参与者.绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间).到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码. Linux社区中存在很多的大佬!破解研究 BitKeeper ! 到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束…
git查看历史命令
1 git show git show 分支名/HEAD/hash值 2 git log参数 --oneline 单行信息--decorate 输出commit引用信息--graph 图形化输出--al 输出所有分支 3 git diff 使用比较两个commit不同git diff commit1 commit2 比较具体单词不同 git diff --color-words git diff --word-diff…
git基于历史commit创建分支
基于以前的commit创建一个分支 步骤: 1.确定需要取出版本的commit值 git log 2.基于该commit创建分支 git branch <branch name> <SHA1> 3.切换到该分支 git checkout <branch name> 或者执行命令 git checkout -b <branch name> <SHA1> 注意: git checkout -b <branch name> <SHA1…
git从历史上的某一次提交处建立分支
$ git log --oneline --all --graph --decorate * 1efcf18 (HEAD -> master) commit * 6a7ace8 commit * 3be5879 commit * 3d1a4d4 commit $ git branch * master $ git branch dev 3be5879 $ git branch dev * master $ git log --oneline --all --graph --decorate *…
git删除历史
Git如何永久删除文件(包括历史记录) 有些时候不小心上传了一些敏感文件(例如密码), 或者不想上传的文件(没及时或忘了加到.gitignore里的), 而且上传的文件又特别大的时候, 这将导致别人clone你的代码或下载zip包的时候也必须更新或下载这些无用的文件, 因此, 我们需要一个方法, 永久的删除这些文件(包括该文件的历史记录). 首先, 可以参考 github 的帮助: https://help.github.com/articles/remove-sensitive-data…
git提交历史不显示自己账户的问题
其实这个问题本身也不大好描述.还是上图好了 问题就如同途中倒数第二次提交.明明就是我提交的,却不显示我的账号.个人页面也不反映这次提交. 后来发现问题所在,要想正确显示,必须要把对这个项目的邮箱设置成一样的.另外,经过实际测试,用户名一不一样都无所谓,只要邮箱一样就行.如下图 改名测试是我对项目添加了git config --local user.name 123 结果如上图第二行那个提交.不影响账户显示 然后我又做了个测试 git config --global user.name…
git还原历史某一版本
返回上一版本 git reset --hard HEAD^ 常用的命令git refloggit reset --hard "填写版本号" 黄色的就是版本号 其他查看以前版本的命令git log git log --pretty=oneline …
3. git获取历史版本
1.使用gitbash进入git命令行,查看commit记录.操作如下: git log 1 2.找到你想提取的目标版本,复制对应的SHA值. 3.新建一个分支,操作如下: git branch 新分支名 SHA值 1 4.切换到新的分支,操作如下: git checkout 新分支名 1…
Git修改历史commit的author信息
前言 "嘀嗒嘀嗒",抬头看向墙上的钟表,此时已是凌晨1点.小明终于把Go语言圣经第二章的笔记写完,保存commit,提交,然后睡觉. 额,等等,不对,小明发现他用的是公司的git账号,git log一看,最新的commit的Author信息里是公司的邮箱地址,尴尬了,难道小明要重新写一遍?"不要啊~",小明抓狂到. 突然,画面暂停,Git博士从幕后走出,原来是一场电影.Git博士说:"同学们,刚才的案例如果是大家遇到,应该怎样?",接着说:&qu…
git导出历史日志
1.1.在项目根目录下执行命令,导出 git 提交记录到桌面 进入项目目录:然后右击选择git bash here 然后在git中执行命令:git log --pretty=format:"%ai , %an: %s" --since="100 day ago" >> ~/Desktop/commit.log 1.2 .如果想导出某些提交者的提交记录,可以用 grep过滤,比如我想导出「ianly」这个人在项目中的提交记录: git log --…
git 根据历史 commitID 拉分支
1. git log -g 查看已commit的信息 2. 根据commit信息找到对应的commitID 3. 执行一下命令来创建新的分支 ### 1. 方法一:创建一个基于commitId的分支,但不切过去 git branch new_branch_name commitId ### 2. 方法二:创建基于commitId的分支,并切过去 git checkout -b new_branch_name commitId…
git 清除历史
http://stackoverflow.com/questions/9683279/make-the-current-commit-the-only-initial-commit-in-a-git-repository http://user.qzone.qq.com/350479720/blog/1411896927…
idea返回git上历史版本
1.首先找到之前想要返回得版本号 2.直接下载此版本号即可 在这里填入1步骤得版本号即可检出,其实这个检出利时版本和检出其他分支是同一个道理…