### Git基础知识及分支管理 #### 一、Git简介 Git是一种分布式版本控制系统,它通过记录文件的状态变更来帮助用户管理项目历史。相比传统的集中式版本控制系统(如SVN),Git在本地就能完成大部分操作,因此速度更快且更安全。 #### 二、基本命令 ##### 1. 更新服务器代码至本地 - **`git pull`**:该命令用于将远程仓库的最新代码拉取到本地,并自动与本地分支进行合并。如果本地也有更改,且这些更改尚未被提交,则需要先使用`git stash`暂存更改,以免合并冲突。 示例命令: ```sh git pull ``` 如果本地有未提交的更改: ```sh git stash git pull ``` ##### 2. 分支管理 分支是Git的核心功能之一,通过分支可以隔离开发环境,避免开发过程中对主干代码造成影响。 - **创建分支**: ```sh git branch <branch-name> ``` 例如: ```sh git branch AAA ``` 创建名为`AAA`的新分支。 - **切换分支**: ```sh git checkout <branch-name> ``` 例如: ```sh git checkout AAA ``` 从当前分支切换到`AAA`分支。 若需从远程仓库中切换分支,例如名为`foo`的分支,可以使用以下命令: ```sh git checkout -b foo origin/foo ``` - **合并分支到主分支**: 首先确保已切换回主分支(通常是`master`或`main`): ```sh git checkout master ``` 然后将分支合并到主分支: ```sh git merge <branch-name> ``` 例如: ```sh git merge AAA ``` 将`AAA`分支合并到`master`分支。 - **查看当前分支**: ```sh git branch ``` 默认情况下,`master`分支会被标记出来,表示当前所在的分支。 若要查看所有分支,包括远程分支: ```sh git branch -a ``` - **删除分支**: ```sh git branch -d <branch-name> ``` 例如: ```sh git branch -d AAA ``` 删除名为`AAA`的分支。 ##### 3. 服务器项目导入到本地 - **克隆远程仓库**: ```sh git clone <repository-url> ``` 例如: ```sh git clone http://xxx/ningbo ``` 其中`ningbo`是项目名称,克隆完成后会在当前目录下创建一个名为`ningbo`的文件夹。 如果是在特定的IDE环境下(如PHPStorm等),可能需要根据项目的配置文件调整路径。例如,对于Workbench来说,可以通过检查`src/ServiceProvider.php`中的路径来确定正确的路径。 - **切换分支**: ```sh git checkout <branch-name> ``` 例如,切换到`kang`分支: ```sh git checkout kang ``` - **安装依赖**: 使用Composer安装项目所需的依赖库: ```sh composer install ``` 修改项目的数据库配置文件以适应本地环境。 ##### 4. 删除远程文件 - **删除远程文件**: ```sh git rm <file-name> git commit -m "删除指定文件" git push ``` 这样做的顺序是:首先删除文件,然后提交更改,最后推送更改到远程仓库。 以上就是关于Git的基础命令以及分支管理的相关知识点,希望对你有所帮助。通过熟练掌握这些命令,你可以更高效地管理和协同开发项目。
- 粉丝: 56
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip
- (源码)基于Java的DVD管理系统.zip