Git学习笔记(3)——撤销修改和文件的删除
2015-05-11 17:09
489 查看
本文主要记录了git中,错误的撤销和文件的删除。
撤销修改
这里有3中情况
改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了1,第二步,按照1操作。
已经提交了不合适的修改到版本库时,想要撤销本次提交,可以版本回退,不过前提是没有推送到远程库。
git checkout -- <file>..."
git checkout --
git reset HEAD <file>..."
git checkout --
文件的删除
使用rm删除文件,然后git add filename添加到暂存区,git commit 提交。
直接使用git rm filename ,不用git add直接git commit即可。
git rm
git commit -m "del abc"
git commit -m "del ab.c"
撤销修改
这里有3中情况
改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了1,第二步,按照1操作。
已经提交了不合适的修改到版本库时,想要撤销本次提交,可以版本回退,不过前提是没有推送到远程库。
//第一种撤销:工作区撤销 ubuntu@myubuntu:~/joe/learngit$ vi readme.txt //工作区的错误还没有add到暂存区 ubuntu@myubuntu:~/joe/learngit$ git status 位于分支 master 尚未暂存以备提交的变更: (使用 "git add <file>..." 更新要提交的内容) (使用 "
git checkout -- <file>..."
丢弃工作区的改动) 修改: readme.txt 修改尚未加入提交(使用 "git add" 和/或 "git commit -a") ubuntu@myubuntu:~/joe/learngit$
git checkout --
readme.txt ubuntu@myubuntu:~/joe/learngit$ vi readme.txt //第二种撤销:暂存区撤销 ubuntu@myubuntu:~/joe/learngit$ vi readme.txt ubuntu@myubuntu:~/joe/learngit$ git add readme.txt //错误的文件已经提交到暂存区了 ubuntu@myubuntu:~/joe/learngit$ git status 位于分支 master 要提交的变更: (使用 "
git reset HEAD <file>..."
撤出暂存区)
修改: readme.txt
ubuntu@myubuntu:~/joe/learngit$ git reset HEAD readme.txt
重置后撤出暂存区的变更:
M readme.txt
ubuntu@myubuntu:~/joe/learngit$ vi readme.txt
ubuntu@myubuntu:~/joe/learngit$ git status //撤出暂存区后,还需使用checkout丢弃工作区的改动
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <file>..." 更新要提交的内容)
(使用 "git checkout -- <file>..."丢弃工作区的改动) 修改: readme.txt 修改尚未加入提交(使用 "git add" 和/或 "git commit -a") ubuntu@myubuntu:~/joe/learngit$
git checkout --
readme.txt ubuntu@myubuntu:~/joe/learngit$ vi readme.txt //第三种已经提交,使用版本回退(学习笔记2)
文件的删除
使用rm删除文件,然后git add filename添加到暂存区,git commit 提交。
直接使用git rm filename ,不用git add直接git commit即可。
//第一种方法git rm file ubuntu@myubuntu:~/joe/learngit$ ls abc.c readme.txt ubuntu@myubuntu:~/joe/learngit$
git rm
abc.c rm 'abc.c' ubuntu@myubuntu:~/joe/learngit$ git status 位于分支 master 要提交的变更: (使用 "git reset HEAD <file>..." 撤出暂存区) 删除: abc.c ubuntu@myubuntu:~/joe/learngit$
git commit -m "del abc"
[master 020f927] del abc 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 abc.c ubuntu@myubuntu:~/joe/learngit$ git status 位于分支 master 无文件要提交,干净的工作区 ubuntu@myubuntu:~/joe/learngit$ ls readme.txt //第二种方法rm file ubuntu@myubuntu:~/joe/learngit$ ls ab.c readme.txt ubuntu@myubuntu:~/joe/learngit$ rm ab.c ubuntu@myubuntu:~/joe/learngit$ ls readme.txt ubuntu@myubuntu:~/joe/learngit$ git status 位于分支 master 尚未暂存以备提交的变更: (使用 "git add/rm <file>..." 更新要提交的内容) (使用 "git checkout -- <file>..." 丢弃工作区的改动) 删除: ab.c 修改尚未加入提交(使用 "git add" 和/或 "git commit -a") ubuntu@myubuntu:~/joe/learngit$ git add ab.c ubuntu@myubuntu:~/joe/learngit$ git status 位于分支 master 要提交的变更: (使用 "git reset HEAD <file>..." 撤出暂存区) 删除: ab.c ubuntu@myubuntu:~/joe/learngit$
git commit -m "del ab.c"
[master 0ad1dfe] del ab.c 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ab.c ubuntu@myubuntu:~/joe/learngit$ git status 位于分支 master 无文件要提交,干净的工作区
相关文章推荐
- Git学习笔记三--管理修改、撤销修改、删除文件
- Git学习笔记(3)——撤销修改与文件删除
- Git学习笔记三--管理修改、撤销修改、删除文件
- Git学习笔记 chapter04--撤销修改和删除文件
- Git学习笔记二(版本回退、工作区和暂存区、撤销修改、删除文件)
- Git学习笔记(三) —— 撤销修改、删除文件
- 浅入Git学习⑤--管理修改、撤销修改、删除文件
- Git学习-工作区,暂存区,管理修改,撤销修改,删除文件
- Git学习02 --暂存区,撤销修改,删除文件
- 三、git学习之——管理修改、撤销修改、删除文件
- Git学习之路(4)- 撤销操作、删除文件和恢复文件
- git(工作区,暂存区,管理修改,撤销修改,删除文件)
- Git 学习笔记--git 查看某个文件的修改历史
- 【Git学习笔记】对已经添加到仓库的文件修改后再次提交到仓库
- 【Git学习笔记】撤销修改
- 【Git学习笔记】删除文件及文件夹,并push到远程库
- Git 学习笔记 -- 查看某个文件的修改历史
- git学习笔记--撤销修改
- Git的管理修改、撤销修改、删除文件
- 【Git学习笔记】撤销修改