idea操作
VCS--Git--Reset HEAD
Reset Type参数
参数 | 意义 |
---|---|
Mixed | (默认方式),保留本地源码,回退 commit 和 index 信息,最常用的方式 |
Soft | 回退到某个版本,只回退了 commit 的信息,不撤销git add file,不删除工作空间的改动代码 。如果还要提交,直接 commit |
Hard | Hard 彻底回退,本地源码也会变成上一个版本内容,不保留之前 commit 的代码 |
To Commit参数
方式 | 含义 |
---|---|
HEAD^ | 例如撤销两次的commit,使用HEAD^^ |
HEAD~n | 例如撤销两次的commit,使用HEAD~2 |
注意:是已经commit但还没有push到相应的分支才可以实现撤销,要是push到相对应的分支,是没有办法撤销commit记录的。
git命令操作
git reset --soft HEAD~1
参数 | 意义 |
---|---|
–soft | 不删除工作空间的改动代码 ,撤销commit,不撤销git add file |
–hard | 删除工作空间的改动代码,撤销commit且撤销add |
修改已commit记录的注释
git commit --amend
这时候会进入vim编辑器,修改完成你要的注释后保存即可。
push上传指定的提交记录
git push <remotename> <commit SHA>:<remotebranchname>
<remotename> 远程仓库名,默认为origin
<commit SHA> 提交的唯一码
<remotebranchname> 远程分支名
注意:上面的命令会将暂存区内代表的提交以及其之前尚未推送到远程的提交一起提交到远程。
查看提交唯一码
git log
指定记录push到远程仓库origin的master分支
git push origin 0ba3851cac41055ec972507095b78df687a01dd2:master
提交的文件太大(默认是1M),导致push失败
Enumerating objects: 8587, done. Delta compression using up to 8
threads RPC failed; HTTP 413 curl 22 The requested URL returned error:
413 send-pack: unexpected disconnect while reading sideband packet
Total 8586 (delta 2018), reused 8549 (delta 1981), pack-reused 0 the
remote end hung up unexpectedly
发现问题是由于Git文件上传大小引起的,需要使用Git命令执行扩容:
git config http.postBuffer 524288000
//或全局设置
git config --global http.postBuffer 2M
注意:有的git服务器有上传内容大小限制,可以分多次提交