第二章 Git基本使用 克弄版本与比较

第6课时 Git常用操作

git 常用命令

git clone 克隆版本库

git clone克隆现有的仓库,获得一份已经存在了的 Git 仓库的拷贝。Git 克隆的是该 Git 仓库服务器上的几乎所有数据,而不是仅仅复制完成你的工作所需要文件。执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。

格式:git clone [url]

克隆远程仓库的时候,自定义本地仓库的名字

git clone [url]   自定义的名称

git diff 差异比较

git diff命令通过文件补丁的格式显示具体哪些行发生了改变。查看尚未暂存的文件更新了哪些部分,不加参数直接输入 git diff命令。比较的是工作目录中当前文件和暂存区域快照之间的差异, 也就是修改之后还没有暂存起来的变化内容。

git diff –cached 命令或git diff –staged查看已暂存的将要添加到下次提交里的内容。

说明:git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动。有时候一下子暂存了所有更新过的文件后,运行 git diff 后却什么也没有。

git diff 的插件版本

git difftool命令调用图形化差异比较工具

git difftool –tool-help 命令来看你的系统支持哪些 Git Diff 插件。

git rm 删除文件

git rm 移除文件,要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,从暂存区域移除,然后提交。 使用 git rm 命令,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。

说明:如果只是简单地从工作目录中手工删除文件,运行 git status 时就会出现“Changes not staged for commit”未暂存清单。

git rm 记录此次移除文件的操作,下一次提交时,该文件就不再纳入版本管理了。 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。是一种安全特性,用于防止误删还没有添加到快照的数据,这样的数据不能被 Git 恢复。

想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。想让文件保留在磁盘,但是并不想让 Git 继续跟踪。忘记添加 .gitignore 忽略文件,可以使用git rm –cached。

git rm 命令后面可以列出文件或者目录的名字,也可以使用 glob 模式。

例如:删除 log/ 目录下扩展名为 .log 的所有文件。

git rm -f log/\*.log

说明:星号 * 之前的反斜杠 \, 因为 Git 有它自己的文件模式扩展匹配方式。

git mv 重命名

Git 不像其它的版本控制系统,并不显式跟踪文件移动操作。如果在 Git 中重命名了某个文件,仓库中存储的元数据并不会体现出这是一次改名操作。但是Git会知道发生了什么。

格式:git mv 旧文件名 新文件名

git mv命令相当于运行了 三条命令

mv 旧文件名 新文件名     git rm 旧文件名         git add 新文件名

说明:分开操作话,Git意识到这是一次改名,不管以哪种方式结果都一样。git mv 是一条命令而另一种方式需要三条命令。有时用其他工具批量改名,记得在提交前删除老的文件名,再添加新的文件名。

Add a Comment

电子邮件地址不会被公开。 必填项已用*标注