git修改代码查看文件差异-移除代码-重命名文件

本文git版本1.9.6

git代码提交层次图

一、修改本地代码查看差异

二、移除代码

三、重命名代码

1.1、当我们修改本地code的时候,使用命令可以看到文件的状态的处于修改状态;然后我们可以将code add 然后进行commit;

我们可以看到code修改什么地方,修改了什么内容;

$ git status -s
$ echo ‘puts "hello world!"‘ >> hello.rb
$ git diff hello.rb

1.2、将此添加到staging area区域,再次查看文件状态

$ git add hello.rb
$ git status -s
$ git diff hello.rb

可以看到文件状态表示staging area和repository区域之间发生了改变;

可以看出 diff 选项 可以用于查看working directory 和 staging area 区域间的文件变化;

1.3、使用 git diff HEAD 可以看到 working directory 和 repository 区域间 的文件变化

$ git diff HEAD hello.rb

1.4、使用git diff --staged 可以看到 staging area 和 repository 区域间的文件变化

$ git diff --staged hello.rb

$ git diff --staged --stat hello.rb     # 输出简要信息

这是文件改变输出变化的命令

2、移除代码

2.1、将hello.rb的文件删除,(此步相当于 add 的逆操作)查看文件状态;将结果 commit 到 repository;查看文件状态;

$ git rm hello.rb
$ ls
$ git status -s

可以看出执行 rm 的时候就已经将本地文件删除掉了;

执行 status 可以看到文件状态标识为 D 表示处理已删除状态;

$ git commit -m "first del" hello.rb

2.2、如果我们不想删除working directory 区域的文件,只想删除 staging area 区域的文件,可以执行 git rm --cached 命令;

$ git rm --cached hello.rb

在执行 git status -s 后,D 和 ?? 是什么意思呢? D 表示 staging area 和 repository 区域的差别,表示 hello.rb 处理删除状态, 所以在working directory 区域的 hello.rb就处于 Untracked 状态;

2.3、如果想恢复staging area 区域的hello.rb,可以从repository 拉取 或 从 working directory 提交上去 (在本地没有改变的时候,如果改变,那提交的是新文件,也不会恢复到之前的文件);

$ git reset hello.rb    # 从 repository 拉取

3、重命名代码

3.1、将本地文件 README.txt 重命名为 README.md ;查看文件状态,然后提交到 repository ;

$ git mv README.txt README.md
$ git commit -m "first rename filename"

tips: 上面 执行 commit 的时候,其实是执行了两个步骤,把 README.txt 删除提交,把 README.md 提交; 看下图就明白了;

其实在 git 中,文件的名字和内容可以分开理解(就像 Python 的 变量和值);在git中,如果两个文件的内容一样,他就认为是一个重命名;

时间: 2024-10-09 20:15:31

git修改代码查看文件差异-移除代码-重命名文件的相关文章

如何在 Linux 中批量移动、复制、追加和重命名文件

你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录. 但是,mv 命令不支持一次重命名多个文件. 不用担心. 在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件. 此命令用于在类 Unix 操作系统中使用标准通配符批量移动.复制.追加和重命名文件. 在 Linux 中一次重命名多个文件 mmv 程序可在基于 Debian 的系统的默认仓库中使用. 要想在 Debian.Ubuntu.Linux Mint 上安装它,请运行以下命令: $

Git使用七:修改最后一次提交、删除文件和重命名文件

修改最后一次提交: 在实际开发中,可能会遇到以下两种情景:情景一:版本刚一提交(commit)到仓库,突然想起漏掉两个文件还没有添加(add).情景二:版本刚一提交(commit)到仓库,突然想起版本说明写得不够全面,无法彰显你本次修改的重大意义…… 执行带 --amend 选项的 commit 提交命令,Git 就会“更正”最近的一次提交. 之前修改的文件只是提交到了暂存区,并没有提交到仓库 执行:git commit --amend就会进入到此次提交版本的编辑说明中 也可以直接git com

git重命名文件和文件夹

git mv -f oldfolder newfoldergit add -u newfolder (-u选项会更新已经追踪的文件和文件夹)git commit -m "changed the foldername whaddup" git mv foldername tempname && git mv tempname folderName (在大小写不敏感的系统中,如windows,重命名文件的大小写,使用临时文件名) git mv -n foldername f

Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

(13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 index.php: <?php require 'dir.func.php'; require 'file.func.php'; require 'common.func.php'; $path = 'file'; $path = @$_REQUEST['path'][email protected

Web 在线文件管理器学习笔记与总结(7)重命名文件

rename($oldname,$newname) 重命名文件或目录 <<<EOF EOF; 使用heredoc 技术,来部分实现界面与代码的准分离 重命名时,需要验证新文件名的合法性 index.php: <?php require 'dir.func.php'; require 'file.func.php'; require 'common.func.php'; $path = 'file'; $info = readDirectory($path); $act = @$_R

Linux下重命名文件或文件夹(mv命令与rename命令)

在Linux下重命名文件或目录,可以使用mv命令或rename命令 mv ------------ mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 其实在文本模式中要重命名文件或目录,只需要使用mv命令就可以了,比如说要将一个名为abc的文件重命名为1234: mv abc 1234 注意,如果当前目录下也有个1234的文件的话,这个文件是会将它覆盖的. rename -----------

重命名文件或文件夹(mv命令与rename命令)

在Linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法. mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 其实在文本模式中要重命名文件或目录,只需要使用mv命令就可以了,比如说要将一个名为abc的文件重命名为1234: mv abc 1234 注意,如果当前目录下也有个1234的文件的话,这个文件是会将它覆盖的. 下面介绍Linux系统中另一个重命名命令

[Linux] Linux中重命名文件和文件夹的方法(mv命令和rename命令)

原文链接 在Linux下重命名文件或目录,可以使用mv命令或rename命令,这里分享下二者的使用方法. mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 其实在文本模式中要重命名文件或目录,只需要使用mv命令就可以了,比如说要将一个名为abc的文件重命名为1234: mv abc 1234 注意,如果当前目录下也有个1234的文件的话,这个文件是会将它覆盖的. 下面介绍Linux系统中另一个

ASP.NET中的文件操作(文件信息,新建,移动,复制,重命名,上传,遍历)(亲测详细)

做了几天的文件操作,现在来总结一下,错误之处,还望指点!以文件为例,如果对文件夹操作,基本上将File换为Directory即可(例:FileInfo file = new FileInfo(Path);与DirectoryInfo directory = new DirectoryInfo (Path);) 1获取文件信息 在知道文件相对路径的情形,下面代码可以获取文件的详细信息 1 public static void fileinfo(string Path) 2 { 3 Path = S