企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## git版本回滚 > git reset --hard commit_id //commit_id为查看提交版本id号 > git log //提交日志打印 > git reflog // 返回回滚前版本 使用该命令可查看回滚之前版本的id **回滚可通过log日志打印commit结果,后悔了也可以通过 reflog获取操作日志,找到回滚前版本id进行reset操作(此时会出现一个题,若回滚后已提交至远程仓库,现在回到回滚前版本则回导致remote冲突,如何解决?)** *** ##工作区与版本库 >git 与 svn 不用的地方就是有一个暂存区的概念 1.需要提交的文件修改通通放到暂存区 git add 2.提交暂存区的所有修改至版本库 git commit ```C git add [filename]/. //添加修改文件到暂存区 git commit -m '提交标识' // 提交当前分支到版本库 git diff HEAD -- [filename] //查 看工作区文件与版本库最新版本的区别 ``` 一旦提交了commit工作区状态就变成clean 因为此时工作区与版本库是相同的 **注意:每次修改,如果不用git add到暂存区,那么在commit提交时就不会提交到版本库中** ----- ##撤销修改 文件修改后 输入git status 查看状态 ``` PS C:\Users\clouds\Desktop\git-learnning> git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: test.md no changes added to commit (use "git add" and/or "git commit -a") ``` 此时可以看到git提示 ``` (use "git checkout -- <file>..." to discard changes in working directory) 使用git checkout -- <file>... 取消工作区对该文件的修改 两种情况 1.文件自修改后还没有被放到暂存区,则回退至上次提交版本库的文件状态 2.文件修改后已提交至暂存区,则回去至暂存区状态. ``` ** 总结: 1.使用checkout回退会选择最近一次add 或 commit 操作时的文件状态 2.当你修改了工作内容并且已提交至暂存区内,此时想要丢弃修改,第一步使用 git reset HEAD filename ,再使用git checkout -- filename 进行回退 3.当提交了文件到版本库时,想要取消则直接使用 git reset进行版本库回退** ---- ## 文件删除 命令: git rm filename >工作区内通过rm删除文件,工作区和版本库不一致时,通过git status可以查看被删除的文件 ``` PS C:\Users\clouds\Desktop\git-learnning> rm add.txt PS C:\Users\clouds\Desktop\git-learnning> git status On branch master Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) deleted: add.txt no changes added to commit (use "git add" and/or "git commit -a") 此时,有两种做法: 1. 通过 git rm filename 从版本库删除该文件 并且进行commit提交版本 2. 根据git提示 (use "git checkout -- <file>..." to discard changes in working directory) 使用该命令 撤销删除操作 ``` **在文件被误删时,大可不必担心,通过checkout可以恢复,但需要注意的是,若checkout进行操作,会丢失,在最近一次commit的版本之后对工作区的修改** ## 总结 > 以上操作可以解决开发中文件备份以及文件丢失的问题,可以舍弃掉开发中需要不断copy不同版本代码的习惯啦~ 使用git优雅的进行版本迭代.