获取Git仓库
在文件目录下打开命令行,输入 git init
git add . //添加当前文件下的所有文件到git暂存区
git add *.c //添加当前文件下后缀为 .c 的文件到git暂存区
git commit -m '注释' //将暂存区中的文件提交到本地仓库
git commit -a -m '注释' //跳过暂存操作,直接提交所有变更文件。
git commit -amend // 比如新增了4个文件,暂存区少添加了1个,这是提交了3个,还有1个在添加之后执行 此 命令,第二次提交代替第一次的提交
git clone [url] //克隆远程仓库项目。
git clone [url] xxx // 克隆远程仓库项目,并重命名为 xxx
git status //查看当前仓库文件状态
git status -s OR git status --short //简短输出文件状态信息
以上输出有一下常用前缀:左M,右M,A,MM,??,D
左M:表示文件被修改并放入了暂存区
右M:表示文件被修改未放入暂存区
A:新增文件
MM:同时存在 左M与右M 状态。多次修改,部分操作放入暂存区。部分操作未放入暂存区。
??:代表没有被管理的文件
D:即将删除的文件
Git忽略文件: .gitignore ignore:忽略的意思
文件 .gitignore
的格式规范如下:
-
所有空行或者以
#
开头的行都会被 Git 忽略。 -
可以使用标准的 glob 模式匹配。
-
匹配模式可以以(
/
)开头防止递归。 -
匹配模式可以以(
/
)结尾指定目录。 -
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(
!
)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。 星号(*
)匹配零个或多个任意字符;[abc]
匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?
)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9]
表示匹配所有 0 到 9 的数字)。 使用两个星号(*
) 表示匹配任意中间目录,比如`a/**/z` 可以匹配 a/z
, a/b/z
或 `a/b/c/z`等。
git diff:查看文件变化。无法查看暂存区中的变化
git diff --cached | --staged :查看已暂存的将要添加到下次提交里的内容
移除文件:
1、本地与仓库都不保留:首先使用 rm file ,使用 git status 查看文件状态为 delete ,然后使用 git rm file。如果删除之前修改过并且已经放到暂存区域,则必须要用强制删除选项 -f 。
2、本地保留,仓库清除:git rm --cached file ,支持使用正则匹配。git rm \*~
移动文件:
git mv file_from file_to 相当于一下三条命令的组合:
mv file_from file_to
git rm file_from
git add file_to