码迷,mamicode.com
首页 > 其他好文 > 详细

Git学习3

时间:2017-04-14 20:46:13      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:新版本   恢复   mit   git reset   checkout   set   logs   test   bsp   

小结:

第一次修改->git add->第二次修改->git add->git commit

即每次修改后,如果不add到暂存区,那就不会加入到commit中。

 

git checkout -- readme.txt

意思:把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

1.是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

2.是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之:就是让这个文件回到最近一次git commit或git add时的状态。

 

注意:git checkout -- file命令中的--很重要,没有--。就变成了“切换到另一个分支”的命令。

 

git reset HEAD file

可以把暂存区的修改撤销掉,重新回到工作区。

注意:git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。

 

工作区和暂存区:

工作区:就是电脑能看到的目录,比如我的learngit

暂存区:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区

技术分享

小结:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

 

删除文件(已经commit后发版本库)

通常在文件管理器中把没用的文件删了,或者用rm命令删除了:

$ rm test.txt

这个时候Git知道你删除了文件。工作区和版本库就不一致了,此时有两个选择:

1.确实要从版本库中删除该文件,用git rm删掉,并用git commit

git rm test.txt
git commit -m "remove test.txt"

文件就从版本库中被删除了

2.确定手误删错了,因为版本库还有,所以可以很轻松地把误删的文件恢复到最新版本。

git checkout --test.txt

小结:

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

Git学习3

标签:新版本   恢复   mit   git reset   checkout   set   logs   test   bsp   

原文地址:http://www.cnblogs.com/Caden-liu8888/p/6710480.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!