Git 文件管理
来源:互联网 发布:python读html文件 编辑:程序博客网 时间:2024/05/16 08:23
一、git add
git add 将暂存一个文件。就 Git 文件分类而言,如果一个文件时未追踪的,那么 git add 就会将文件的状态转化为已追踪的。如果 git add 作用于一个目录名,那么该目录下的文件和子目录都会递归暂存起来。
在任何情况下,最重要的事是要记住工作目录下的文件版本和索引中暂存的文件版本是有可能不同步的。当提交的时候,Git 会使用索引中的版本。
二、git commit
git commit 的 -a 或者 -all 选项将会导致执行提交之前自动暂存所有未暂存的和未追踪的文件变化,包括从工作副本中删除已追踪的文件。
如果不通过命令直接提供日志消息,Git 会启动编译器,并提示你写一个。
三、git rm
git rm 命令会在版本库和工作目录中同时删除文件。另外,要将一个文件由已暂存的转化为未暂存的,可以使用 git rm –cached 命令。git rm –cached 会删除索引中的文件并把它保留在工作目录中。
Git 可以从索引或者同时从索引和工作目录中删除一个文件。Git 不会只从工作目录中删除一个文件,普通的 rm 命令可以用于这一目的。
从工作目录和索引中删除一个文件并不会删除该文件在版本库中的历史记录。文件的任何版本,只要提交到版本库的历史记录的一部分,就会在对象库里并保存历史记录。
如果想保留那个不小心删除的文件,只要再把它添加回来就行了。Git 把工作目录下的文件也删除了,不过不用担心,版本控制系统擅长回复文件的旧版本。
$ git rm datarm 'data'$ git add datafatal: pathspec 'data' did not match any files$ git checkout HEAD -- data$ cat datanew dataand some more data now$ git statusOn branch masternothing to commit, working tree clean
四、git mv
假设你需要移动或者重命名文件。可以对旧文件使用 git rv 命令,然后用 git add 添加新文件,或者可以直接使用 git mv 命令。如:
$ mv stuff newstuff$ git rm stuff$ git add newstuff
和
$ git rm stuff newstuff
在示例版本中找回了 data 这个文件,下面重命名它,然后提交变更。
$ git mv data mydata$ git statusOn branch masterChanges to be committed: (use "git reset HEAD <file>..." to unstage) renamed: data -> mydata$ git commit[master eac5baa] moved data to mydata 1 file changed, 2 insertions(+) create mode 100644 mydata
若果你检查这个文件的历史记录,你可能会不安地看到 Git 丢失了原始 data 文件的历史记录,只记得它从 data 重命名为当前文件名。
$ git log mydatacommit eac5baa1040a823a19d62c485566d692595bd1e5Author: Jon Loeliger <jdl@spcial-project.example.org>Date: Sat Aug 5 10:30:20 2017 +0800moved data to mydata
Git 其实是记得全部历史记录的,但是显示要限制于在命令中指定的文件名。–follow 选项会让 Git 在日志中回溯并找到内容相关联的整个历史记录。
$ git log --follow mydatacommit eac5baa1040a823a19d62c485566d692595bd1e5Author: Jon Loeliger <jdl@spcial-project.example.org>Date: Sat Aug 5 10:30:20 2017 +0800moved data to mydatacommit c3a57604564c366015f09f48ca9cd53b968e4bc7Author: Jon Loeliger <jdl@spcial-project.example.org>Date: Sat Aug 5 10:13:55 2017 +0800add some file
- git文件管理命令
- 用Git管理文件
- git大文件管理
- Git 文件管理
- git 文件管理
- 设置文件不让git管理
- Git入门-文件状态/分支管理
- 代码管理Git-忽略指定文件
- git 用户管理文件 添加 提交
- git版本管理之忽略文件
- git管理代码忽略无效文件
- git学习笔记 -- day02 管理文件版本
- 使用Git Bash管理项目文件
- 03.开源项目--git文件管理
- git文件管理模型和git分支(branch)
- 使用git管理代码,mac看不到生成的.git文件
- Git 管理
- Git管理
- Python机器学习与实践——简介篇
- Fibonacci 斐波那契数列(求第n项值的前4位数字)
- 17暑假多校联赛3.11 HDU 6066 RXD's date
- POJ 1475:Pushing Boxes
- 搞定linux上MySQL编程(六):C语言编写MySQL程序(结)
- Git 文件管理
- 桶排序
- 独立封装简单mvc框架(1)
- openresty程序开发(Nginx+Lua)
- VC6.0编译时出现:error C2660: 'VarCmp' : function does not take 4 parameters
- 标准I/O:分别用fgetc与fputc,fgets与fputs统计文件的行数
- 称不上项目的小程序2:停车场
- webservice发布地址和项目冲突问题(url拦截冲突)
- 为什么这个函数的返回值是-1, 浪费我10-20分钟? ------小心宏中return