2020-12-25 乐帮网
git
在使用Git时有好多小技巧,其中之一就是回滚本地代码的提交,这个虽说用到的频率不会太多,但也是属于Git的一项基本操作。在Git中是没有undo的直接操作的。实现的思路是修改上一次的提交。
下面是一个操作的例子:
首先我们添加一个文件test1.txt 再修改一下README.md,然后提交。
eddy@test-ppc MINGW64 /e/gitee/monsys (busbranch)
$ git add .
eddy@test-ppc MINGW64 /e/gitee/monsys (busbranch)
$ git commit -m "commit undo"
[busbranch b134a47] commit undo
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 test1.txt
下面开始撤销上面的提交操作
$ git reset HEAD~
然后我们修改README.md,删除test1.txt文件,添加test2.txt,再重新提交
$ git add .
$ git commit -c ORIG_HEAD
此时会弹出对话框如下:
我们可以编辑之前提交的说明 按一下 i 进入编辑模式,修改内容,修改完成后按esc取消编辑式进入视图模式。然后在视图模式下输入:wq进行保存(这个操作和linux的编辑文件一样)。
至此整个撤销重新修改过程完成。如何你不知道编辑上一次提交的说明可以直接使用大写的-C如下:
$ git commit -C ORIG_HEAD
剩下的就是合并到主干了以及提交了
$ git checkout master
$ git merge busbranch
$ git push -u origin master
所有命令执行效果如下:
eddy@test-ppc MINGW64 /e/gitee/monsys (busbranch)
$ git add .
eddy@test-ppc MINGW64 /e/gitee/monsys (busbranch)
$ git commit -m "commit undo"
[busbranch b134a47] commit undo
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 test1.txt
eddy@test-ppc MINGW64 /e/gitee/monsys (busbranch)
$ git reset HEAD~
Unstaged changes after reset:
M README.md
eddy@test-ppc MINGW64 /e/gitee/monsys (busbranch)
$ git add .
eddy@test-ppc MINGW64 /e/gitee/monsys (busbranch)
$ git commit -c ORIG_HEAD
[busbranch 4f770f4] commit undo new
Date: Fri Dec 25 22:20:08 2020 +0800
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 test2.txt
eddy@test-ppc MINGW64 /e/gitee/monsys (busbranch)
$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
eddy@test-ppc MINGW64 /e/gitee/monsys (master)
$ git merge busbranch
Updating b6cd93d..4f770f4
Fast-forward
README.md | 2 +-
test2.txt | 0
2 files changed, 1 insertion(+), 1 deletion(-)
create mode 100644 test2.txt
eddy@test-ppc MINGW64 /e/gitee/monsys (master)
$ git push -u origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 410 bytes | 410.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-5.0]
To https://gitee.com/xxxx/monsys.git
b6cd93d..4f770f4 master -> master
Branch master set up to track remote branch master from origin.
原创作品,禁止转载!
相关内容:
Your branch is up-to-date with 'origin/master'
Windows安装git客户端 提交代码到gitee(码云)
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力