获取 Git 仓库
git init | 将创建一个名为 .git 的子目录,包含初始化的 Git 仓库中所有的必须文件(如若想备份或复制一个版本库,只需把这个目录拷贝至另一处即可) |
git clone url.git | 克隆远程仓库到本地,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来 |
git clone url.git mylibgit | 与上一命令相同,不过在本地创建的仓库名字变为 mylibgit |
记录每次更新到仓库
git status | 检查当前文件状态 |
git add filename | 开始跟踪一个文件,跟踪之后,处于暂存状态 |
git add . | 跟踪当前目录,.代表当前目录 |
git diff | 查看尚未暂存的文件更新了哪些部分 |
git diff --cached/staged | 查看已暂存的将要添加到下次提交里的内容 |
git commit | 提交更新,加上 -m "注释",增加注释 |
git commit -a | 把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤 |
git rm | 从暂存区域移除文件,并连带从工作目录中删除指定的文件。如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f( 即 force 的首字母) |
git rm --cached README | 把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然保留在当前工作目录中 |
git mv file_from file_to |
|
忽略文件
.gitignore
文件,列出了要忽略的文件。
.gitignore
的格式规范如下:
所有空行或者以 #
开头的行都会被 Git 忽略。
可以使用标准的 glob 模式匹配。
匹配模式可以以(/
)开头防止递归。
匹配模式可以以(/
)结尾指定目录。
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!
)取反。
glob 模式是指 shell 所使用的简化了的正则表达式。 星号(*
)匹配零个或多个任意字符;[abc]
匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?
)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9]
表示匹配所有 0 到 9 的数字)。 使用两个星号(*
) 表示匹配任意中间目录,比如`a/**/z` 可以匹配 a/z
, a/b/z
或 `a/b/c/z`等。