changjiashuai's blog

Runnig...

The future belongs to those who believe in the beauty of their dreams.


Git目录与工作目录

Git目录

‘Git目录’是为你的项目存储所有历史和元信息的目录–包括所有的对象(commits,trees,blobs,tags) 这些对象指向不同的分支。

每一个项目只能有一个’Git目录’(这和SVN,CVS的每个子目录中都有此类目录相反),这个叫’.git’的目录 在你项目的根目录下(这是默认设置,但并不是必须的)。如果你查看这个目录的内容,你可以看所有的重要文件:

$>tree -L 1
.
|-- HEAD         # 这个git项目当前处在哪个分支里
|-- config       # 项目的配置信息,git config命令会改动它
|-- description  # 项目的描述信息
|-- hooks/       # 系统默认钩子脚本目录
|-- index        # 索引文件
|-- logs/        # 各个refs的历史信息
|-- objects/     # Git本地仓库的所有对象 (commits, trees, blobs, tags)
`-- refs/        # 标识你项目里的每个分支指向了哪个提交(commit)。

(也许现在还有其它 文件/目录 在 ‘Git目录’ 里面, 但是现在它们并不重要)

##工作目录 Git的’工作目录’存储着你现在签出(checkout)来用来编辑的文件。当你在项目的不同的分支间切换时,工作 目录里的文件经常会被替换和删除。所有历史信息都保存在’Git目录’中;工作目录只用来临时保存签出(checkout) 文件的地方,你可以编辑工作目录的文件直到下次提交(commit)为止。

:’Git目录’:一般就是指项目根目录下的’.git’目录。

最近的文章

Git索引

Git索引是一个在你的工作目录和项目仓库间暂存区(staging area)。有了它,你可以把许多内容的修改一起提交(commit)。如果你创建了一个提交(commit),那么提交的是当前索引(index)里的内容,而不是工作目录中的内容。查看索引使用git status命令是查看索引内容的最简单办法。你运行git status命令,就可以看到:哪些文件被暂存了(就是在你的Git索引中),哪些文件被修改了但是没有暂存,还有哪些文件没有被跟踪(untracked)。➜ RestKit ...…

继续阅读
更早的文章

使用Alcatraz管理Xcode插件

Alcatraz是一个帮你管理Xcode插件、模板以及颜色配置的工具。它可以直接集成到Xcode的图形界面中,让你感觉就像在使用Xcode自带的功能一样。安装mkdir -p ~/Libray/Application\ Support/Developer/Shared/Xcode/Plug-inscurl -L http://git.io/lOQWeA | tar xvz -C ~/Library/Application\ Support/Developer/Shared/Xcode/...…

继续阅读