在git push前如何遗弃掉历史commit

今天写了一天代码,然后 git hub commit 了 多达 7 次, 但是都没有把修改正式推送上去。结果最后要推送的时候发现中间有一个提交文件超过了100M. 是 vs 的代码性能分析报告 .vsp 文件, 我只能说真的是硕大无比,一个报告居然有800M。那当然我希望把这个文件忽略掉,所以修改 .gitignore 文件。但是已经来不及了,因为之前的 commit 里面已经有了这个文件, 即使我在新的commit中忽略掉它,之前的commit也无法推送上去。那么只能不要脸的把所有commit都遗弃掉了。重新来过。

1. 首先备份下今天的所有修改。

2. 丢掉所有commit:

a. 从master上面copy 下HEAD版本的SHA

b. git reset --hard SHA

3. 把今天的修改copy回来, 注意只拷贝代码改动,不要把相关的git文件也拷贝回来,不然git又会说 your branch is ahead of master 7 commits blablabla...

4. 然后重新提交代码。 git add -A, git commit -m "你的日志", git push

最后提个醒,如果有改动最好还是直接push上去好,不然到最后累的是自己。今天代码没写几行,尽搞git了。 悲伤。

时间: 2024-10-23 07:53:28

在git push前如何遗弃掉历史commit的相关文章

在git push前怎样遗弃掉历史commit

今天写了一天代码,然后 git hub commit 了 多达 7 次. 可是都没有把改动正式推送上去. 结果最后要推送的时候发现中间有一个提交文件超过了100M. 是 vs 的代码性能分析报告 .vsp 文件, 我仅仅能说真的是硕大无比,一个报告竟然有800M. 那当然我希望把这个文件忽略掉,所以改动 .gitignore 文件.可是已经来不及了,由于之前的 commit 里面已经有了这个文件. 即使我在新的commit中忽略掉它,之前的commit也无法推送上去.那么仅仅能不要脸的把全部co

git push proxy 取消不掉 can not prox....

使用这个折腾了半天 git config --global --unset http.proxy git config --global --unset https.proxy 没用,原来实现项目目录下config 覆盖了全局配置 把这个删掉 原文地址:https://www.cnblogs.com/humi/p/11333615.html

coding git push 失败

首先在coding上创建一个项目,添加readme文件.这样才会使用到git pull命令 添加,提交,和远程连接这里就不展示了 在git push前就需要先git pull. 在此之前先关闭git 客户端,打开.git/config 添加 [branch "master"]      remote = origin      merge = refs/heads/master 最后打开git 输入git pull --allow-unrelated-histories git pus

Git 将代码恢复到一个历史的版本

Git 将代码恢复到一个历史的版本 要把代码回到某个历史版本 比如 test有两种方法 暴力的方式 如果你的仓库是自己在用(不影响别人),那么你可以使用 git reset --hard <target_commit_id> 来恢复到指定的提交,再用 git push -f 来强制更新远程的分支指针.为了保证万一需要找回历史提交,我们可以先打一个 tag 来备份. 对于刚刚的例子,需要执行的命令就是: // 备份当前的分支到 backup_commit git tag backup_commi

git push 详细手册

git-push(1)手册页 目录位置:git安装位置/Git/mingw64/share/doc/git-doc/git-push.html  谷歌翻译了一下 名称 git-push-更新远程引用以及相关对象 概要 git push [--all | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=<git-receive-pack>] [--repo=<repository&

git push 的解决方案

如果输入$ git push origin master 提示出错信息: 或者 失败的原因:不能 push 远端仓库 原因分析:由于你当前分支落后与远程端对应分支,所以无法更新: 解决方案:使用 git pull origin master (先把远程服务器github上面的文件拉下来),然后使用 git push origin master 将本地仓库中的所有文件都提交到远程仓库中 若还不能解决问题,接着会出现如下报错信息: 失败的原因:拒绝让我合并不相关的历史 解决方案:git pull o

git push

push就是把你本地仓储的commit传到远程仓储中去. 用法 git push <remote> <branch> push指定的分支到<remote>中去.  如果对于目标仓储来说不是一次fast-forward的merge, push会失败. 需要先git pull. git push <remote> --force 效果基本上和前一个命令相似, 但是他不管是不是fast-forward的merge都会push成功. 不建议使用这个命令. git p

git push冲突解决

1. 首先,可以试图用git push origin branch-name推送自己的修改:2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并:如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name.3. 如果合并有冲突,则解决冲突,并在本地提交:4. 没有冲突或者解决掉冲突后,再用

02_创建Git仓库,克隆仓库,git add,git commit,git push,git pull,同行冲突,不同行冲突的结局方案,git mergetool的使用

1 创建Git资源库,残酷目录信息 创建git资源库的命令: git init –bare 仓库名称 (其中-bare表示的意思是空的库的意思) 进入E:\software\repository\git\itheima28,截图如下: hooks:提交一些脚本文件 info:存放一些个人信息,配置信息 objects:所有数据存放位置 refs:git指针信息,记录了修改了什么等的信息 config:核心的配置信息 description:描述信息 HEAD:存放的分支信息. 2 使用上面创建的