Git学习笔记
### Git学习笔记知识点详解 #### 一、Git的登录及初始化配置 - **Git的登录配置**:在安装完成后,为了使Git能够正确地记录文件的作者信息,我们需要设置全局的用户名称和电子邮件地址。 - 命令示例: ```bash $ git config --global user.name "YourName" $ git config --global user.email "email@example.com" ``` - 这些配置将被保存在用户的主目录下的`.gitconfig`文件中。 - **初始化Git仓库**:创建一个新的仓库或项目来使用Git进行版本控制。 - 创建一个空目录: ```bash $ mkdir learngit ``` - 将该目录初始化为Git仓库: ```bash $ cd learngit $ git init ``` - 初始化后会在当前目录下创建一个名为`.git`的隐藏目录,它用于存放所有Git相关的元数据和对象。 #### 二、提交文件至Git仓库 - **添加文件**:将新文件加入到版本控制中。 - 使用`git add`命令添加文件到暂存区: ```bash $ git add <file> ``` - 可以重复使用`git add`来添加多个文件。 - **提交文件**:将暂存区的文件提交到仓库中。 - 使用`git commit`命令提交暂存区到仓库: ```bash $ git commit -m "read_me" ``` - `-m`后面跟的是本次提交的说明,可以简单描述本次提交做了什么。 #### 三、查看Git当前的工作区状态 - **检查工作区状态**:使用`git status`命令查看当前工作区的状态。 - 如果工作区中有被修改过的文件,可以通过`git diff`命令查看具体的修改内容。 #### 四、Git还原之前版本 - **版本回退**:通过`git reset --hard commit_id`命令回到指定的版本。 - `HEAD`指向当前版本,可以使用`git log`查看提交历史。 - 特殊符号`^`表示上一个版本,`^^`表示上上一个版本。 - 使用`git reflog`命令查看命令历史,以便找到特定的版本号。 #### 五、Git版本库简介 - **版本库**:每个Git仓库都有一个隐藏的`.git`目录,这是Git的版本库。 - 版本库包含重要的元数据和对象。 - 包含暂存区(stage/index)、分支等元素。 - 暂存区:用于暂存修改文件的地方。 - 分支:如`master`分支,默认创建的第一个分支。 - `HEAD`:指向当前工作的分支。 #### 六、撤销修改 - **撤销文件修改**:使用`git checkout -- <file>`命令可以撤销文件的修改。 - 这个命令可以让文件回到最后一次提交或添加的状态。 - 注意区分`git checkout -- <file>`与`git checkout <branch>`的区别。 #### 七、删除文件 - **删除文件**:使用`git rm <file>`命令删除文件。 - 删除已提交到版本库的文件时,可以通过恢复操作找回,但仅限于文件的最新版本。 - 注意:谨慎使用此命令,避免误删重要文件。 #### 八、关联远程仓库 - **远程仓库关联**:使用`git remote add origin <url>`命令将本地仓库与远程仓库关联起来。 - `<url>`指的是远程仓库的URL。 - 关联成功后,可以使用`git push -u origin master`命令将本地master分支推送到远程仓库。 #### 九、从远程克隆仓库 - **克隆仓库**:使用`git clone <url>`命令将远程仓库复制到本地。 - `<url>`为远程仓库的地址。 - 支持多种协议,如https和ssh,其中通过ssh协议连接的速度通常更快。 #### 十、创建并切换分支 - **创建并切换分支**:使用`git checkout -b <branch>`命令可以同时创建并切换到新的分支。 - 例如创建并切换到`dev`分支: ```bash $ git checkout -b dev ``` - 这条命令等价于先创建分支再切换: ```bash $ git branch dev $ git checkout dev ``` 以上是关于Git基本操作的学习笔记,包括了从环境配置、文件管理到远程仓库的协作等多个方面。熟练掌握这些命令可以帮助开发者更高效地管理和协作代码。