Git功能简单概述
git reset --hard );git log);操作
版本控制系统:

注意文件存储和SVN不同:

Git 不按照SVN那样对待或保存数据。 反之,Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。 为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 Git 对待数据更像是一个 快照流。
总结特点:
snapshoot。而并非比较差异;modified)staged)committed)working directory)修改Git文件;staging area); (注意SVN中没有暂存区这个概念)git directory);
Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作‘索引’,不过一般说法还是叫暂存区域。
基本的 Git 工作流程如下:
git add。git commit。git add 放到暂存区; git commit 从暂存区放到版本仓库中;
Git是分布式的。


关于配置user.name和user.email:
可以有三个地方配置:
比如输入git config命令, 会出现下面三个信息,即系统级别system,全局global,和局部local。其中优先级不断升高。
zxzxin@zxzxin:~/Git/gitlearn$ git config
usage: git config [<options>]
Config file location
--global use global config file
--system use system config file
--local use repository config file
-f, --file <file> use given config file
--blob <blob-id> read config from given blob object这里展示一下配置我们局部的gitlearn仓库:

git 提交的id(
commit id)是一个摘要值,这个摘要值实际上是一个sha1计算出来的。
git rm :
git commit来提交)若想恢复被删除的文件,需要进行两个动作:
git reset HEAD test2.txt,将待删除的文件从暂存区恢复到工作区;git checkout -- test2.txt, 将工作区的修改丢弃掉;**rm **:
git commit)不了的。要想纳入暂存区,必须要再调用一次git add。实战对比:

git mv(和git rm 类似):
git mv演示:

而 mv:
git add提交到暂存区;
使用技巧: 可以通过
git commit --amend -m '修正内容'更改上次错误的提交消息。(就是-m '')后面的提交信息写错了。
git log -n 可以查看最近的n条日志。
git log --pretty=oneline以一行一行的方式显示出来。
查看git命令帮助:

.gitignore文件在开发中,如果我们不想将所有的文件都放到git当中,而是要忽略少数一些文件(比如jar包、配置文件等),我们可以在我们的目录创建一个.gitignore文件,git就不会将这些文件放入暂存区,也不会提交(不会加入版本控制系统)。

此时我们可以创建一个.gitignore文件:

简而言之,放在.gitignore中的文件会直接被git无视。
其中,放在
.gitignore中的文件也支持正则表达式。 例如:
*.a,会忽略所有.a结尾的文件;!lib.a,不要忽略lib.a(排除这个忽略);/test.txt,仅仅忽略项目根目录下的TODO文件,不包括子目录下的test.txt文件;dir1/,忽略dir1/目录下的所有文件;dir1/*.txt,会忽略dir1/a.txt但不会包括dir1/dir2/a.txt。dir1/*.txt会忽略dir1下的所有.txt文件,dir1/*/*.txt会忽略dir1下所有层下的.txt,而dir1/**/*.txt会忽略dir1/下的任意层的.txt文件。在.gitignore中用#表示注释。
原文:Java架构笔记
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。