删除 GitHub 所有 Commit 记录 把项目提交到 GitHub 上,有时候可能不小心提交了一些隐私信息,如密码和邮箱。如何删除这些记录,形成一个全新的仓库,并且保持代码不变呢? 新建一个空白分支 git checkout --orphan latest_branch 添加所有文件 git add -A 提交 git commit -am "." 强制删除旧的分支,如果是 master git branch -D master 将当前分支重命名为 master git branch -m master 强制推送到远程仓库 git push -f
git commit -m 'update .gitignore' 删除 git commit记录 不小心上传了个性化配置(账号之类的) 通过下面命令回退到之前版本 working tree和index 和HEAD进行重置: git reset –mixed :此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息 git reset –soft :回退到某个版本,只回退了commit的信息,不会恢复到index file一级。 如果还要提交,直接commit即可 git reset –hard :彻底回退到某个版本,本地的源码也会变为上一个版本的内容 加上git push origin Head:master --force
领8888元新春采购礼包,抢爆款2核2G云服务器95元/年起,个人开发者加享折上折
——《沉默的大多数》 " Git 彻底删除某个commit的方法 如果因为一些原因,需要删除某个错误的 commit,而且需要干净的操作,彻底让其消失,不留痕迹,该如何操作? 只能通过删除包含提交此文件的 commit 解决。 废话少说,直奔主题。 1.首先输入如下命令查看历史提交的 commit: git log 重要的是记下要删除的 commit 的上一条 commit 的 commit号。 如下图,如果要删除箭头所指的 commit,需要记录红框中的 commit号: ? 2.然后执行如下的命令: git rebase -i commit号 会出现如下界面: ? 3.然后将要删除的 commit号 的前缀 pick 改为 drop。
在执行上述命令的时候,可能会提示本地的版本落后于远端的版本,因此我们还需要在上述命令中加上--force参数:
一.简介 在本地删除后push到gitlab等平台上,也会对应消失的 二.操作 1.使用git log 命令,查看已提交的记录。例如红色圈出的commit是本次要删除的commit。 2.先找到此次提交之前的一次提交的commit 1d6b81b138f89735265900b94fcd1ec39375e7b4 3.执行git rebase -i 1d6b81b138f89735265900b94fcd1ec39375e7b4 ,弹出如下页面(不包含当前commit): 按字母I键进入编辑模式,将需要删除的commit的pick改为drop,然后按esc退出编辑,:wq保存 4.再次执行git log命令,查看已提交记录 ,之前红色圈出的commit记录已被删除。
在使用GitHub的过程中,假如某次提交代码时不小心将敏感信息提交进了公共仓库。 如果发现得及时,本地提交后还没有推送到GitHub远程仓库的话,这种情况还好处理,直接修改代码后通过git commit --amend即可。 但如果发现时已经推送到了GitHub远程仓库,或者已过了许久,后续有了很多新的commits,这种情况就会比较复杂了。 处理方式:git filter-branch 1、删除本地记录 git filter-branch --force --index-filter "git rm --cached --ignore-unmatch 你要删除的文件(相对项目的路径)" --prune-empty --tag-name-filter cat -- --all 2、本地记录覆盖到Github,(所有branch以及所有tags) git
尝试 运行 git checkout --orphan latest_branch 添加所有文件git add -A 提交更改 git commit -am "commit message" 删除分支 -D master 将当前分支重命名 git branch -m master 最后,强制更新存储库 git push -f origin master 假如你只是想修改上次提交的代码,做一次更完美的commit 可以这样 (1)git reset commitId,(注:不要带--hard)到上个版本 (2)git stash,暂存修改 (3)git push --force, 强制push,远程的最新的一次commit 被删除 (4)git stash pop,释放暂存的修改,开始修改代码 (5)git add . -> git commit -m "massage" -> git push ---- 版权属于:dingzhenhua
描述 经常会遇到提交多个commit ,最后发现版本有问题,需要删除中间的一个commit, git 中并没有提供现成的命令,需要多个命令组合完成该功能. 实现 首先用git format-patch -n -m,生成n-m个补丁文件 000(n-m)-commit-msg.patch, git reset –hard commit id 退回至删除 commit之前的id 依次打之前生成的补丁 patch -p1 < 0001-commit-msg.patch git add / git commit 提交 问题 打补丁的时候patch 只使用文本文件 , 如何有二进制文件需要用git apply -p1 < 0001-commit-msg.patch 参考 参考1 参考2 参考3
commitlint/{config-conventional,cli} npm install --save-dev husky { "husky": { "hooks": { "commit-msg
背景 由于将重构任务和业务任务代码修改提交在了一个分支,为了不影响业务正常,必须删除重构提交。 问题 比如我的提交历史如下,我现在想删除重构commitB、C,但不影响B、C后的业务提交D D(业务提交) C(重构提交) B(重构提交) A(本地初始拉的远程分支) 解决方案 首先找到BC提交之前的一次提交的 将BC两行前面的pick改为drop,然后保存退出 至此已经删除了指定的commit。 git push –force 然后推送到远程仓库 此时BC 就被干掉了,没有影响后面的提交
在团队开发的时候, 经常会出现某次commit导致整个项目出现无法名状的错误, 这个时候, 最好的解决办法就是删除错误的commit 场景复现一 1.假设有2个提交记录 commit def5adef853da4cc05752bdb36577c127be71ba5 commit, 那么后面提交的commit都会一并删除 ? -m "重做 增加文件" 3.执行完后 查看日志,会发现原来的commit记录还在,同时新增了一个commit版本 git log commit 05752def5adef853da4ccbdb36577c127be71ba5 操作, 同时可以保留后面的commit 但是也存在一个让人不舒服的地方, 虽然操作被重写了,但是记录还在, 而且由新增了一个记录,感觉有些冗余 ? git rebase --onto和git rebase i 适用场景: 如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,彻底清除commit记录, 而又不增加新的commit记录, 就可以用这种方法
记得之前给 git 的 commit 加了个签名,回想下为什么要给 commit 做下签名?因为它能让 GitHub 的 commit 历史更帅?看下加签名之前是怎么样的: ? 这看起来就不太好,得让 GitHub 证明下自己得身份才行,从官方文档可以看到, GitHub 提供了一种使用 GPG 的方式可以让我们的 commit “戴”上小绿标。 下一步,就是把把公钥放到 GitHub 上,让 GitHub 对我们的提交进行验证,判断是否该给 commit “戴”上小绿标。 https://github.com/yeshan333/anonymous-git-commit/commits/master ? 没问题,收工了。 ] gpgsign = true 参考 GunPG GitHub - Signing commits 给你的 Git commit 加上绿勾 - 一个简单但很多人没注意的细节
问题来了,这个代码库commits7855次,点击进入commits发现翻页只有两个按钮不能直接点击翻页到最后一页,那如何查看第一条记录呢? ? 原来 github为每个commit版本都生成了一个SHA hash值,我们可以通过SHA值来直接搜索到第N次的提交 点击一次older发现url格式为: https://github.com/lodash 在commits列表内的每一条记录后面都有一个copy图标,这里点击即会成功复制此条commit的SHA c2616dd4f3ab267d000a2b4f564e1c76fc8b8378正式此代码库的最新一条 commit的SHA。 于是如果我们想找到第一条记录,总commits记录是7855次,那么搜索url为: https://github.com/lodash/lodash/commits/master?
前言 之前一直用的都是Bitbucket,虽然gitHub很早就开通了,但是一直没有用它,今天算是第一次用吧。在配置上遇到了一些问题,在这里记录下来和大家一起分享。 什么是gitHub github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开,如果想免费建立私有仓库的话可以考虑一下Bitbucket。 Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。 数量还在不断增加中 创建GitHub仓库 ? 第一步:点击你头像选择Your profile 第二步:选择repositories 第三步:点击右侧的NEW选择新建 ? 这就表示已成功连上github。 接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
最近迁移了两个 SVN 项目到 Gitlab 上,唯一的目的就是想把提交记录保存下来,至于谁提交的无所谓,只希望能在看不懂一些代码的时候能追溯回去看看当时为什么这样修改。
waiting for handler commit The thread is waiting for a transaction to commit versus other parts of query for handler commit第一反应是不是磁盘空间满了呢? | 64670 | waiting for handler commit | COMMIT | | 703 | products | 10.10.42.11: 48574 | products | Query | 64670 | waiting for handler commit | COMMIT | | 705 | products | 64670 | waiting for handler commit | COMMIT | | 711 | products | 10.10.42.11:
url格式:https://github.com/SAP/spartacus/commit/ ? commit hash可以从source tree里获得: ?
第五步输入你的项目名点击按钮删除 ?
[TOC] 0x00 github API使用 如果自己写的github爬虫没有特色或者没有很高的效率不如使用Github的API,数据获取可以来得快一些。 user.name "WeiyiGeek" #(2)初始化建立仓库并绑定仓库 echo "# SecOpsDev" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:WeiyiGeek/SecOpsDev.git git push -u origin master A记录(即github.io页面的)或者CNAME记录(即别名记录) 正在 Ping weiyigeek.github.io [185.199.111.153] 具有 32 字节的数据: 来自 185.199.111.153 的回复: 字节=32 时间=149ms TTL=49 #由于我们github pages自定义域名填写的是www.weiyigeek.github.io,所有需要设置weiyigeek.github.io
[TOC] 0x00 github API使用 如果自己写的github爬虫没有特色或者没有很高的效率不如使用Github的API,数据获取可以来得快一些。 user.name "WeiyiGeek" #(2)初始化建立仓库并绑定仓库 echo "# SecOpsDev" >> README.md git init git add README.md git commit -m "first commit" git remote add origin [email protected]:WeiyiGeek/SecOpsDev.git git push -u origin A记录(即github.io页面的)或者CNAME记录(即别名记录) 正在 Ping weiyigeek.github.io [185.199.111.153] 具有 32 字节的数据: 来自 185.199.111.153 的回复: 字节=32 时间=149ms TTL=49 #由于我们github pages自定义域名填写的是www.weiyigeek.github.io,所有需要设置weiyigeek.github.io
扫码关注腾讯云开发者
领取腾讯云代金券