Git概述

79 阅读2分钟

版本库(.git)是版本控制系统用来存储所有历史数据的地方。大多数版本控制系统在版本库中存储各个文件的当前状态、历史修改时间、谁做的修改,以及修改的原因。

CVS和Subversion这类版本控制系统属于集中式版本库模式,这类版本控制系统中,在本地工作目录树中,只能看到代码的最新版本。如果想查询历史修改记录,就必须与服务器上的版本库打交道,而这需要网络,但是网络不一定时刻在线。

如果使用Git这种分布式版本控制系统,就不会遇到网络不在线带来的问题。使用分布式版本控制系统,每个人都会在本地有自己的版本库,所有的历史记录都存储在本地的版本库中。向版本库提交代码无需连接远程版本库,而是记录在本地版本库中(git add,git commit)。那么在分布式版本控制系统中,程序员之间如何传递各自的修改,如何同步呢?程序员可以通过git pushgit pull(fetch+merge)

工作目录树是版本库的一个“断面视图”,它包括了开发该项目所需要的全部文件。
在Git中,版本库不在服务器上,而存储在本地工作目录树的“.git”目录中。
工作目录树的来源有二:git init or git clone

截屏2024-06-28 13.49.04.png

git add file:执行这个命令后,文件file进入暂存区。
暂存的变更就是工作目录树中那些你打算提交到版本库的变更。通过暂存区,可以设置哪些变更要提交到版本库,哪些先不提交,它给用户在提交到版本库之前精心选择提交内容的机会。
git中三个存放代码的地方:工作目录树、暂存区、版本库