git直接记录快照:更新时纵览文件指纹对文件作个快照,然后保存指向快照的索引
- 在工作目录中修改某些文件。
- 对修改后的文件进行快照,然后保存到暂存区域。
- 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。
文件 .gitignore
的格式规范如下
- 所有空行或者以注释符号
#
开头的行都会被 Git 忽略。 - 可以使用标准的 glob 模式匹配。
- 匹配模式最后跟反斜杠(
/
)说明要忽略的是目录。 - 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(
!
)取反
glob:shell 所使用的简化了的正则表达式
- 星号(
*
)匹配零个或多个任意字符; [abc]
匹配任何一个列在方括号中的字符(这个例子匹配一个 a/ b/c)- 问号(
?
)只匹配一个任意字符 - 方括号中用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配
git diff:显示还没有暂存起来的改动,而不是这次工作和上次提交之间的差异
git diff --cached:已经暂存起来的文件和上次提交时的快照之间的差异
跳过暂存区,git commit -a :
自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add
步骤
移除文件:git rm
从暂存区域移除,并连带从工作目录中删除指定的文件
移动文件:git mv file_from file_to
查看提交历史:git log
- git log -p -2
-p
选项展开显示每次提交的内容差异- 用
-2
则仅显示最近的两次更新 - -p后添加--word-diff 获取单词层面上的对比
- --stat简要的增改行数统计
- --pretty指定使用完全不同于默认格式的方式展示提交历史
--pretty=oneline每个提交放在一行显示
--pretty=format:"%h - %an, %ar : %s"定制要显示的记录格式
重新提交:git commit --amend使用当前的暂存区域快照提交
查看当前远程库:git remote
- -v 显示对应克隆地址
添加远程仓库 git remote add [shortname] [url]
- git remote add remote_name git://github.com/paulboone/ticgit.git
- 抓取所有 Paul 有的 git fetch remote_name
- fetch 只将远端的数据拉到本地仓库,不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并
推送数据到远程仓库:git push [remote-name] [branch-name]
查看远程仓库信息:git remote show [remote-name]
修改某个远程仓库在本地的简称:git remote rename original_name new_name
标签:tag
原文: