首页 » 漏洞 » Git 学习笔记 —— 基础

Git 学习笔记 —— 基础

 
文章目录

Git 学习笔记 —— 基础

获取 Git 仓库

获取 Git 项目仓库的方法有两种:

  1. 从本地目录中导入所有文件到 Git
  2. 从一个服务器下载现有的 Git 仓库

从现有目录中初始化仓库

进入该目录

$git init 

该命令创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件。

克隆现有的仓库

克隆仓库的命令格式是 git clone [url]

$ git clone [url] 

记录每次更新到仓库

在工作目录下的文件只有两种状态: 已跟踪未跟踪

已跟踪的文件 就是纳入了版本管理的文件,它们也有三种状态: 未修改已修改已放入暂存区 。工作区中除了已跟踪的文件,其他都是 未跟踪的文件

初次 克隆 某个仓库的时候,所有文件属于 已跟踪 文件,并处于 未修改 状态。

Git 学习笔记 —— 基础

检查当前文件的状态

要查看哪些文件处于什么状态,可以使用下面的命令。

$ git status 

使用 git status -s 或者 git status --short 会得到紧凑的输出。

跟踪新文件

使用 git add 命令开始跟踪一个文件,这是一个多功能命令。

$ git add <filename> 

管理修改过的文件

暂存已修改文件

要暂存修改过的文件,需要运行 git add 命令。

$ git add <filename> 

撤销暂存的文件

$ git reset HEAD <filename> 

撤销对文件的修改

$ git checkout -- <filename> 

这个命令是很危险的,一旦使用了这个命令,那对这个文件做的任何修改都会消失,回不来了。

忽略文件

在目录下创建一个 .gitignore 文件,列出要忽略的文件模式,格式规范如下:

  • 所有空行或以 # 开头的行都被忽略
  • 可以使用标准的 glob 模式匹配
  • 匹配模式可以以 / 开头防止递归
  • 匹配模式可以以 / 结尾指定目录
  • 要忽略指定目录以外的文件,可以用 ! 取反

glob 模式

所谓 glob 模式是指 `` 使用的简化了的正则表达式。

  • * 匹配零或多个任意字符
  • [abc] 匹配任意一个列在方括号里面的字符
  • ? 只匹配一个任意字符
  • [0-9] 匹配两个字符范围内所有字符
  • ** 匹配任意中间目录 a/**/z ,匹配 a/z a/b/z a/b/c/z

查看已暂存和未暂存的修改

要查看未暂存的文件更新了哪些部分,不加参数直接输入 git diff

$git diff 

此命令比较的是工作目录中 当前文件暂存区快照 之间的差异,也就是说,当你暂存了所有修改过的文件之后,运行 git diff 是不会有什么输出的。

若要查看已暂存的内容,可以用以下命令

$ git diff --staged 

提交更新

提交时记录的是放在暂存区的快照,任何未暂存的仍然保持已修改状态,可以在下次提交时纳入版本管理。

$git commit -m '简短的提交信息' 

跳过使用暂存区

把所有已经跟踪过的文件暂存起来一并提交,跳过 git add 步骤,给 git commit 加上 -m 选项。

$ git commit -a -m '简短的提交信息' 

修改提交

提交完发现漏了文件没有提交,或者提交信息填错了。此时可以运行带有 --amend 选项的提交命令尝试重新提交。

$ git commit --amend 

提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:

$ git commit -m 'init commit' $ git add forgotten_file $ git add --amend 

这样,第二次的提交将代替第一次提交。

移除文件

要从 Git 中移除某个文件,必须从已跟踪文件清单中移除,然后提交。

$ git rm < 列出文件名 | 目录名 | glob 模式 > 

强制删除

如果要删除的文件已经修改过,并且已经放到了暂存区,就需要强制删除 -f (force)

$ git rm -f <files> 

取消跟踪

如果想让文件继续留在磁盘,但是并不想让 Git 继续跟踪。

$ git rm --cached <files> 

文件重命名

$ git mv old_name new_name 

运行 git mv 等于运行了下面三条命令

$ mv README.md README $ git rm README.md $ git add README 

查看提交历史

$ git log 

不加任何参数, git log 会按提交时间列出所有更新,最近的更新放在上面。

远程仓库的使用

远程仓库是指托管在因特网或其他网络中你项目中的版本库。

查看远程仓库

如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。它会列出你指定的每一个远程服务器的简写。

$git remote 

也可以指定选项 -v ,会显示需要读写远程仓库使用 Git 保存的简写以及其对应的 URL

$git remote -v 

如果你的远程仓库不止一个,该命令会将他们全部列出。

添加远程仓库

$ git remote add <shortname> <url> 

添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写。

原文链接:Git 学习笔记 —— 基础,转载请注明来源!

0