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

简介:

本文git版本1.9.6

git代码提交层次图

wKioL1Qa5-Xyp1LVAADqrDRk-Xk325.jpg

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

二、移除代码

三、重命名代码

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

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

1
2
3
$ git status -s
echo  'puts "hello world!"'  >> hello.rb
$ git  diff  hello.rb

wKioL1Qe2mmwDwKuAAHc0MooazY103.jpg

wKiom1Qe2uWDT9mYAACWT1yDfwY856.jpg

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

1
2
3
$ git add hello.rb
$ git status -s
$ git  diff  hello.rb

wKiom1Qe3AzzYEE3AAF6TcTjgco306.jpg

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

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

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

1
$ git  diff  HEAD hello.rb

wKioL1Qe3h3A7dxtAAFZzNHTlho673.jpg

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

1
$ git  diff  --staged hello.rb

wKioL1Qe3zyAT_TjAAFLailWyiY596.jpg

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

wKiom1Qe4FDQT_bJAAEHRTcxRDc971.jpg

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

2、移除代码

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

1
2
3
$ git  rm  hello.rb
ls
$ git status -s

wKioL1Qe49byh85CAAIHRA9vvto166.jpg

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

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

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

wKioL1Qe5NqQo4N9AAEYQZ8Ko0k606.jpg

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

1
$ git  rm  --cached hello.rb

wKiom1Qe5qWC8R5zAAE64POxIxg994.jpg

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

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

1
$ git reset hello.rb     # 从 repository 拉取

wKioL1Qe6CiAwepPAADACLVTFUc293.jpg

3、重命名代码

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

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

wKioL1Qe6cHjUdbdAAIV-QUnl8Q825.jpg

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

wKiom1Qe6rLTdz3TAALqluiq7bc972.jpg


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

wKiom1Qe7GDQeNSOAAHySMlU9c0103.jpg




本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1557668
相关文章
|
8月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
861 103
|
9月前
|
开发工具 git 开发者
Git版本管理常见文件提交流程讲解
以上就是Git常见文件提交流程概述。掌握此流程对于任何使用Git进行版本控制和协同工作项目团队成员都至关重要。
365 13
|
11月前
|
数据可视化 Java 测试技术
Git Flow 现代实操指南含从代码提交到 CI/CD 全流程的实用技巧与长尾关键词解析 Git Flow
本指南结合现代技术趋势,详解Git Flow工作流,涵盖GitHub Actions自动化、Conventional Commits规范、Gitmoji可视化等内容,助你实现代码到CI/CD的全流程管理,提升团队开发效率与代码质量。
779 2
|
JavaScript 前端开发 持续交付
实际工作中 Git Commit 代码提交规范是什么样的?
实际工作中 Git Commit 代码提交规范是什么样的?
1207 7
|
网络安全 开发工具 git
Git仓库创建与代码上传指南
本教程介绍了将本地项目推送到远程Git仓库的完整流程,包括初始化本地仓库、添加和提交文件、创建远程仓库、关联远程地址及推送代码。同时,还提供了`.gitignore`配置、分支管理等可选步骤,并针对常见问题(如认证失败、分支不匹配、大文件处理及推送冲突)给出了解决方案。适合初学者快速上手Git版本控制。
|
开发工具 git 索引
如何使用Git的暂存区来管理代码更改?
如何使用Git的暂存区来管理代码更改?
1475 0
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
394 28
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
840 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
2049 0
|
IDE Shell 网络安全
【Git版本控制】使用TortoiseGit一键托管工程代码及版本控制
【Git版本控制】使用TortoiseGit一键托管工程代码及版本控制
1024 0