# 版本控制工具的使用 **Repository Path**: deepLearningCoding/use-of-version-control-tools ## Basic Information - **Project Name**: 版本控制工具的使用 - **Description**: 版本控制工具的使用,git,svn - **Primary Language**: Java - **License**: MulanPSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-01-19 - **Last Updated**: 2024-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 版本控制工具的使用 # 介绍 版本控制工具的使用,git,svn # git基本使用(命令行模式) 1.初始化建立本地仓库 git init 初始化的仓库需要README.md文件生成才能执行 2.克隆项目(初次拉取) git clone 项目地址url 3.提交相关修改文件(提交前先拉取更新,防止冲突) git status //确认文件的修改状态 git add xxx文件 //添加修改文件 git commit -m '提交注释' //添加提交注释 git push //push提交 4.拉取项目(更新项目) git pull ![输入图片说明](https://images.gitee.com/uploads/images/2021/0119/155507_14c8f5f6_1735689.png "屏幕截图.png") git pull 可能会发生问题(第一次拉取) If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=origin/ master ![输入图片说明](https://images.gitee.com/uploads/images/2021/0128/202058_7f4c2e73_1735689.png "屏幕截图.png") 解决办法: 先创建本地分支 git branch --set-upstream-to=origin/master master ![输入图片说明](https://images.gitee.com/uploads/images/2021/0128/202127_64623429_1735689.png "屏幕截图.png") # 把本地项目上传到gitee git init git remote add origin https://gitee.com/xxx/xxx.git git pull origin master 至此已经初始化完毕,可以正常提交了,如果报错,就 rebase 一下 error: failed to push some refs to 'https://gitee.com/xxx/xxx.git' ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240121121702.png) ![输入图片说明](%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20240121121749.png) # git 从主干master拉取新分支 1. 拉取主干 , git clone http://git.xxxx.com/xxxxx/material-purchase-center.git 2. 进入工作区, cd material-purchase-center 3. 新建分支, git checkout -b temp20220218 4. 推送新分支到git远程仓库, git push origin temp20220218 5. 将本地与分支关联(不操作这一步,下次pull/push就会报错,这时候要采用另一种方式 git pull origin branch ) , git branch --set-upstream-to=origin/temp20220218 ![输入图片说明](master%E4%B8%BB%E5%B9%B2%E6%8B%89%E5%8F%96%E6%96%B0%E5%88%86%E6%94%AF.png) # git 分支合并到主干 1.在分支本地代码打开 git Bash here 2.git checkout master ![输入图片说明](https://images.gitee.com/uploads/images/2021/1117/111916_ddb41223_1735689.png "屏幕截图.png") 3.git merge [分支] ![输入图片说明](https://images.gitee.com/uploads/images/2021/1117/111936_220c4fd0_1735689.png "屏幕截图.png") 4.git commit -m '注释,一般写是分支合并到主干+年月日' ![输入图片说明](https://images.gitee.com/uploads/images/2021/1117/111948_30faf4e6_1735689.png "屏幕截图.png") 5.git push ![输入图片说明](https://images.gitee.com/uploads/images/2021/1117/112015_afcf0448_1735689.png "屏幕截图.png") 这结束了分支合并到主干,然后拉取主干代码看看是否合并好了 # git 从主干指定版本号拉取新分支 1.先clone, git clone http://xxx/xxx/xxx.git 2.进入clone好的文件夹 cd xxxxx 3.找到指定版本号,例如 21bda4e4777e3c021bd8d17faf2e5a75f0bfe7a5 4.新建分支并拉取, git checkout -b temp20220217 21bda4e4777e3c021bd8d17faf2e5a75f0bfe7a5 5.查看分支是否已经切换, git branch 6.提交分支 commit/push , 这时候就会在git仓库实际创建分支 图示: ![输入图片说明](image.png) # 分支命令 #### 列出所有本地分支 $ git branch #### 列出所有远程分支 $ git branch -r #### 列出所有本地分支和远程分支 $ git branch -a #### 新建一个分支,但依然停留在当前分支 $ git branch [branch-name] #### 新建一个分支,并切换到该分支 $ git checkout -b [branch] #### 新建一个分支,指向指定commit $ git branch [branch] [commit] #### 新建一个分支,从指定版本拉取,并切换到该分支(√) $ git checkout -b [branch] [version-number] #### 新建一个分支,与指定的远程分支建立追踪关系 $ git branch --track [branch] [remote-branch] #### 切换到指定分支,并更新工作区 $ git checkout [branch-name] #### 切换到上一个分支 $ git checkout - #### 建立追踪关系,在现有分支与指定的远程分支之间 $ git branch --set-upstream [branch] [remote-branch] #### 合并指定分支到当前分支 $ git merge [branch] #### 选择一个commit,合并进当前分支 $ git cherry-pick [commit] #### 删除分支 $ git branch -d [branch-name] #### 删除远程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch] # 修改配置命令 设置全局用户名和邮箱 git config --global user.name "username" git config --global user.email useremail@qq.com 修改当前的project git config user.name 你的目标用户名; git config user.email 你的目标邮箱名; 查看是否设置成功 git config user.name git config user.email 在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类: 1、 local 仓库级别(可缺省) 2、 global 用户级别,当前用户在所有仓库都用这个配置 3、 system 系统级别,整台计算机都用这个配置 # 克隆分支 由于我们根据git仓库地址克隆的项目都是master主分支,但是有些情况需要克隆某个分支,比如新增功能需要从别的分支克隆: git clone -b develop-v1.0 giturl develop-v1.0 分支名称,giturl git仓库地址