git放弃修改&放弃增加文件

git放弃修改&放弃增加文件

1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。 
单个文件/文件夹:

$ git checkout -- filename

所有文件/文件夹:

$ git checkout .

2. 本地新增了一堆文件(并没有git add到暂存区),想放弃修改。 
单个文件/文件夹:

$ rm filename / rm dir -rf

所有文件/文件夹:

$ git clean -xdf

// 删除新增的文件,如果文件已经已经git add到暂存区,并不会删除!

3. 本地修改/新增了一堆文件,已经git add到暂存区,想放弃修改。 
单个文件/文件夹:

$ git reset HEAD filename

所有文件/文件夹:

$ git reset HEAD .

4. 本地通过git add & git commit 之后,想要撤销此次commit

$ git reset commit_id

这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位 
// 撤销之后,你所做的已经commit的修改还在工作区!

$ git reset --hard commit_id

这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位 
// 撤销之后,你所做的已经commit的修改将会清除,仍在工作区/暂存区的代码不会清除!

原文地址:https://www.cnblogs.com/wangzhichao/p/10189785.html

时间: 2024-11-11 20:59:46

git放弃修改&放弃增加文件的相关文章

Git学习02 --暂存区,撤销修改,删除文件

工作区和暂存区概念: 工作区(Working Directory)就是你在电脑里能看到的目录. 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD. 前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步是用git add把文件添加进去,实际上就是把文件

EF6 如何判断DataContext有修改,以及如何放弃修改

  如何判断DataContext有修改: EF6的 using (var db = new Model1()) { if (db.ChangeTracker.HasChanges()) { Console.WriteLine("Something has changed"); } }   EF5中: public bool HasUnsavedChanges() { return this.ChangeTracker.Entries().Any(e => e.State ==

git(工作区,暂存区,管理修改,撤销修改,删除文件)

工作区和暂存区 984次阅读 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的

git忽略对已入库文件的修改

项目开发过程中,会遇到本地配置文件每个开发人员不同的情况,但如果遇到类似数据库配置这种最终需要加入 git 版本控制的配置,则会陷入两难境地.要么不跟踪,要么有人提交后其他人同步下来必须手动修改,非常麻烦.其实,对于已被纳入版本管理的文件,git 也提供了很好的解决办法. 告诉git忽略对已经纳入版本管理的文件 .classpath 的修改,git 会一直忽略此文件直到重新告诉 git 可以再次跟踪此文件 $ git update-index --assume-unchanged .classp

Git --恢复修改的文件

对于恢复修改的文件,就是将文件从仓库中拉到本地工作区,即 仓库区 ----> 暂存区 ----> 工作区. 对于修改的文件有两种情况: 只是修改了文件,没有任何 git 操作 修改了文件,并提交到暂存区(即编辑之后,gitadd但没有gitadd但没有 git commit -m ....) 修改了文件,并提交到仓库区(即编辑之后,gitadd和gitadd和 git commit -m ....) 情况I: 只是修改了文件,没有任何 git 操作,直接一个命令就可回退: $ git chec

git学习笔记03-本地git常用操作及原理-文件增删改

1.查看git状态 git status  这个可以告诉我们对git做了哪些操,比如增删改 2.既然我们修改了东西,有的时候想看看修改了什么,毕竟我们的记忆力并不如电脑 git diff 文件名 (默认和暂存区比较.啥事暂存区后面说) 3.修改了之后我提交了,我想看看提交的日志git log -- pretty = oneline  (后面这是格式化用的,可以不写) 4.突然想起来我提交的这个有错误怎么办,我想恢复到之前的版本 git reset --hard HEAD^ ( HEAD^ 是之前

2017-03-10<Git管理修改>

Git管理修改 Git跟踪并管理的是修改,而非文件. 什么是修改? 比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 实验: 第一步,对readme.txt做一个修改,比如加一行内容:Git tracks changes. $ cat readme.txt Git is a distributed version control system. Git is free software

2017-03-10<Git撤销修改>

Git撤销修改 撤销修改分为两种情况: 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态: 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态. 总之,就是让这个文件回到最近一次git commit或git add时的状态. 情况一:工作区修改还未放到暂存区 添加一条my stu........... $ cat readme.txt Git is a distributed version cont

git将一个分支的某个文件合并到当前分支

有时在开发的feature中,整个分支的功能并没有完成开发完成,但是,有几个修改的基础文件需要合并到develop中,这个时候的操作步骤为: git checkout develop     //切换到Develop分支 git checkout feature/new1.1 -- usercontroller.php  //将feature/new1.1中的usercontroller.php合并到develop分支中 git commit usercontroller.php -m 'xxx