Loading... ### 创建版本库 初始化一个Git仓库,使用`git init`命令。 添加文件到Git仓库,分两步: 1. 使用命令`git add <file>`,注意,可反复多次使用,添加多个文件; 2. 使用命令`git commit -m <message>`,完成。 ### 时光机穿梭 1. 要随时掌握工作区的状态,使用`git status`命令。 2. 如果`git status`告诉你有文件被修改过,用`git diff`可以查看修改内容。 ### 版本回退 1. `HEAD`指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令`git reset --hard commit_id`。 2. 穿梭前,用`git log`可以查看提交历史,以便确定要回退到哪个版本。 3. 要重返未来,用`git reflog`查看命令历史,以便确定要回到未来的哪个版本。 ### 工作区和暂存区 暂存区是Git非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了什么。 ### 管理修改 每次修改,如果不用`git add`到暂存区,那就不会加入到`commit`中。 ### 撤销修改 命令`git checkout -- readme.txt`意思就是,把`readme.txt`文件在工作区的修改全部撤销,这里有两种情况: 一种是`readme.txt`自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; 一种是`readme.txt`已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。 总之,就是让这个文件回到最近一次`git commit`或`git add`时的状态。 Git同样告诉我们,用命令`git reset HEAD <file>`可以把暂存区的修改撤销掉(unstage),重新放回工作区:`git reset HEAD readme.txt` `git reset`命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用`HEAD`时,表示最新的版本。 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令`git checkout -- file`。 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令`git reset HEAD <file>`,就回到了场景1,第二步按场景1操作。 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。 ### 删除文件 一是确实要从版本库中删除该文件,那就用命令`git rm`删掉,并且`git commit`: > 小提示:先手动删除文件,然后使用git rm <file>和git add<file>效果是一样的。 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本: `git checkout -- test.txt` `git checkout`其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。 <span style='color:red'> 注意:从来没有被添加到版本库就被删除的文件,是无法恢复的!</span> 命令`git rm`用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失 **最近一次提交后你修改的内容** 。 https://www.liaoxuefeng.com/wiki/896043488029600/896954117292416 Last modification:April 6, 2023 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏