git上的后悔药

2024-01-26 10:12:08 浏览数 (1)

修改上一次提交的文案

代码语言:javascript复制
git commit —amend

我第一次提交时运行了命令: git add . git commit -m “add some thing"

但是commit后悔了,需要做一些修改再提交

再次提交的时候运行 git commit —amend 这时候log日志只显示一条信息

撤销操作

  • 在执行了commit 命令时 : 回滚到某一个版本git reset —hard 提交的id[commit_id] 要回退到未来 可以使用 git reflog [由上到下分别显示的是最新的提交命令]查看历史命令,这样再使用回滚到某一个版本的命令,执行回滚即可
  • 在未执行 commit但执行了 add,可使用 git reset HEAD file,便回到执行add 之前的状态(从stage状态回到modified状态)
  • 对file做了一些修改,但没有执行 add ,这个时候执行 git checkout - - file便可撤销所有的修改

删除了某一个分支,恢复上面的东西

  • git log -g找回删掉的commit_id
  • git branch 新分支名 commit_id 即可

单独恢复某个文件

  • git log 文件名 —>找到要回退的版本
  • git reset commitID 文件名 —>这时候可能会出现这样的 Unstaged changes after reset
  • git checkout — 文件名 即可

git clean 删除工作目录中没有tracked的文件

代码语言:javascript复制
 -n 不会删除任何文件,只是提醒
 -f 删除当前目录下没有track过的文件,不删除.gitignore指定的文件和文件夹
 -df 删除没有track的文件和文件夹
-xd 删除没有track过的文件,不管是否在.gitignore指定

git rm 从Unmodified状态到modified状态

git reset —soft HEAD^ 回到最后一次commit —amend,即commit 到stage状态

—soft 缓存区和工作目录都不会改变

附录

git文件修改的状态变更

0 人点赞