### Git学习笔记 #### 一、版本控制系统概览 **版本控制系统**是一种记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。根据存储方式的不同,版本控制系统可以分为两大类: 1. **集中式版本控制系统**:如SVN、CVS、VSS等,这类系统的特点是有一个中心服务器用来保存所有文件的修订版本,而协同工作的人们则通过客户端连到这台服务器,取出最新的文件或者提交更新。这种模式的主要缺点是如果中心服务器出现故障,则整个系统的版本历史就会丢失,存在单点故障的风险。 2. **分布式版本控制系统**:如Git、Bazaar、Darcs等,这类系统不仅在中心服务器上保存所有文件的修订版本,每位用户的计算机上也几乎保存了一份完整的文件修订记录。这意味着即使中心服务器宕机,也可以用任何一个镜像出来的本地仓库恢复。Git作为其中最著名的代表之一,因其高效性和安全性广受好评。 #### 二、Git的安装 Git的安装步骤根据不同的操作系统有所不同,下面分别介绍在Linux、Mac OS以及Windows上的安装方法。 1. **在Linux上安装Git** - 首先检查系统是否已安装Git,可在终端输入 `$ git` 命令进行查询。 - 如果未安装,可以通过包管理器安装Git。对于基于Debian的发行版(如Ubuntu),可以使用命令 `$ sudo apt-get install git` 安装Git。 2. **在MacOS上安装Git** - 一种方法是安装Homebrew,再通过Homebrew安装Git。具体步骤可参照官方文档:[http://brew.sh/](http://brew.sh/) - 另一种方法是直接从App Store安装Xcode,其中包含了Git,但需要手动安装命令行工具。安装步骤如下: - 打开Xcode,选择菜单栏中的“Xcode”->“Preferences”。 - 在弹出窗口中找到“Downloads”选项卡,选择“Command Line Tools”,点击“Install”按钮即可完成安装。 3. **在Windows上安装Git** - 访问[https://git-scm.com/downloads](https://git-scm.com/downloads) 下载Git安装程序。 - 按照默认选项完成安装。 4. **安装完成后的基本设置** - 设置用户名称和邮箱地址,这将用于标识每次提交的作者信息。 ``` $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com" ``` - 其中`--global`参数表示这些配置将应用到当前计算机上的所有Git仓库。 #### 三、创建版本库 **版本库(repository)**可以简单理解为一个目录,该目录内的所有文件都将被Git管理。每当文件发生变更或删除,Git都能够进行跟踪,便于随时追踪历史版本或进行还原操作。 1. **创建新的版本库** - 首先在一个合适的路径下创建一个新的目录。 ``` $ mkdir GitRepository ``` - 进入该目录并初始化Git仓库。 ``` $ cd GitRepository $ git init ``` #### 四、时光穿梭机 **时光穿梭机**指的是通过Git能够实现对文件的添加、提交、回退等一系列操作,帮助我们管理项目的历史版本。 1. **添加文件到Git仓库** - 第一步:将文件添加到暂存区。 ``` git add readme.txt ``` - 第二步:提交更改到版本库。 ``` git commit -m "wrote a read me file" ``` - 使用`git status`命令可以查看当前Git仓库的状态,哪些文件需要添加或提交。 - 使用`git diff`命令可以查看具体的文件修改内容。 2. **版本回退** - 场景:文件丢失,从最近的一次提交中恢复文件。 - 使用`git log`命令查看提交日志。 - 使用`git reset --hard HEAD^`命令回退到当前版本的上一个版本。 - 使用`git reflog`命令查看每一次命令的历史记录。 3. **工作区与版本库的关系** - 工作区是指我们实际操作的目录。 - 版本库是在执行`git init`后生成的隐藏的`.git`目录。 - 暂存区位于`.git`目录下的`stage`或`index`目录中。 4. **管理修改** - Git跟踪并管理的是文件的修改而非文件本身。只有添加到暂存区的修改才能被提交到版本库。 - 使用`git diff HEAD -- <filename>`命令查看工作区和版本库最新版本之间的区别。 5. **撤销修改** - 场景:误将修改后的文件添加到暂存区,但还未提交至版本库,想要撤回此次添加。 - 使用`git reset HEAD <filename>`命令撤销暂存区的修改,并将修改重新放回工作区。 - 使用`git checkout -- <filename>`命令丢弃工作区的修改,让文件回到最近一次提交或添加的状态。 6. **删除文件** - 场景:确认要从版本库中删除某个文件。 - 第一步:使用`git rm <filename>`命令删除文件。 - 第二步:提交删除操作。 ``` git commit -m "delete <filename>" ``` - 场景:工作区中误删除某文件,从版本库中恢复。 - 使用`git checkout -- <filename>`命令恢复文件。 #### 五、远程仓库 1. **添加公钥到GitHub** - 注册GitHub账号并登录。 - 在GitHub中添加SSH公钥。如果尚未生成公钥,可以使用以下命令: ``` ssh-keygen -t rsa -C "your_email@example.com" ``` - 将生成的公钥内容复制并粘贴到GitHub的SSH keys设置页面。 以上就是关于Git的基础学习笔记,涵盖了Git的安装、基本配置、版本库创建及管理等内容,希望对你有所帮助。
- 粉丝: 7
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助