$ cat readme.txt: 查看文件中的内容。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。加上–pretty=oneline参数,可以看到一大串类似1094adb…的是commit id(版本号)。 $ git log --pretty=oneline 24d23b010bf985cdb6ffe24a41d57edc815a5ad7 (HEAD -> master) append GPL 45510f81bdab40eb4d329efdfd25e50e6dbcc96c add distributed 55868e82176f025d1a15832ebf054381737f6415 wrote a readmefile HEAD指向的版本就是当前版本,使用命令git reset --hard HEAD^ 可以回退到上一个版本。Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。可以回到任意一个版本。要重返未来,用git reflog查看命令历史,查看commit_id,以便确定要回到未来的哪个版本.就是你在电脑里能看到的目录,比如learngit文件夹就是一个工作区
3. 前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
当修改了工作区某个文件的内容,想丢弃工作区的修改时,用命令git checkout - -filename。
当不但修改了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD filename,就回到了1(添加到暂存区之前的工作区),第二步按场景1操作。 git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。
已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
rm test.txt: 删除工作区中的文件(手动删除也一样),这样工作区和版本库中就不一样了。
从版本库中删除该文件: git rm test.txt git commit -m "remove test.txt"将工作区中误删的文件恢复: git checkout – test.txt(撤销修改)注意:git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。 注意:从来没有被添加到版本库就被删除的文件,是无法恢复的!
