版权声明:未经允许,私自转载,版权必究。 https://blog.csdn.net/Charles_TheGod/article/details/83035025
Git
1. Git介绍
2. Git本地结构
- 创建本地仓库(在项目目录中执行)
git init
3. git基本操作
- 提交工作区变化到暂存区
git add 文件 git add .
- 生成新版本(提交暂存区变化到仓库区)
git commit -m "注释"
- 查看工作区和暂存区的差异
git status
- 查看提交的版本
git log
- 设置当前本地仓库的提交者信息
git config user.name "xx" git config user.email "xx"
4. 撤销修改和切换版本
4.1 撤销修改
- 丢弃工作区的改动(根据暂存区的状态来还原工作区代码)
git checkout
- 丢弃暂存区的改动(根据仓库区的状态来还原暂存区代码)
git reset HEAD
4.2 切换版本
- HEAD 表示最新的版本
- HEAD^ 表示从最新开始数的上一个版本
- HEAD^^
- HEAD~100 表示切换到前100个版本
git reset HEAD^ 切换到上一个版本(让暂存区同步仓库区的状态)
git reset 25a0d3e 切换到指定的版本
5. 版本比较
- 对比 上一个版本 和 当前版本
git diff HEAD^ HEAD — login.py
- 对比 当前版本 和 工作区代码
git diff HEAD — login.py
6. 删除文件
- 删除文件(删除工作区和暂存区中的文件)
git rm 文件名
- 撤销误删(如果已经提交了版本) 先
git reset HEAD^
再git checkout 文件名
三. Git远程管理
1. 创建远程仓库
码云链接 gitee.com
2. git远程操作
- 克隆远程仓库的项目
git clone 远程仓库的地址
- 推送版本到远程仓库
git push
- 拉取远程仓库的版本到本地仓库
git pull
- 免密码设置
git config --global credential.helper store
设置后,下次再输入一次账号密码就会自动记录
3. 代码冲突
- git push时, 如果提示本地版本和远程版本不一致 说明出现了版本冲突
- 解决办法:
1> 先git pull 拉取远程仓库中的版本
2> 拉取后, git会自动进行版本合并
3> 如果多人修改了同一个文件, 自动合并会失败
4> 这时就需要开发者手动修改代码冲突的位置
5> 修改冲突后, 再提交到暂存区,并生成新版本, 最后推送到远程仓库(自动合并成功, 也需要提交到暂存区,并生成新版本才能推送)
4. 标签
- 标签: 给指定的版本添加标记, 方便查询到该版本 V1.0
- 经理:
- 生成本地标签(给当前的版本添加tag)
git tag -a v1.0 -m “版本1.0”
- 推送标签(让远程仓库也记录该版本的tag)
git push origin v1.0
- 生成本地标签(给当前的版本添加tag)
- 张三:
- 获取所有的标签
git tag
- 显示标签对应的版本信息
git show v1.0
- 切换到标签对应的版本
git checkout v1.0
- 获取所有的标签
5. 分支
- 作用:
- 区分生产环境代码以及开发环境代码
- 研究新的功能或者攻关难题
- 经理-创建分支:
- 查看本地的所有分支
git branch
- 创建本地分支
git branch dev
- 切换到分支
git checkout dev
- 创建并切换到本地分支
git checkout -b dev
- 推送分支到远程仓库
git push origin -u dev
- 查看本地的所有分支
- 开发者:
- 下拉远程仓库
git pull
- 切换到dev分支(开发者在这个分支上进行开发)
git checkout dev
- 下拉远程仓库
- 经理-合并分支(当版本稳定后, 合并dev分支内容到master中)
- 先
git checkout master
- 后
git merge dev
- 先