文章目录
git 版本控制系统
1. 查看配置列表
git config --list
修改用户邮箱
git config --global user.name 你的目标用户名;
git config --global user.email 你的目标邮箱名;
2. 创建版本库, 生成.git
隐藏目录
git init
3. 查看状态
git status
2. 版本创建与回退
# 文件添加到本地仓库
git add .
git commit -m '注释信息'
# 查看版本记录
git log
git reflog
/*
5edba78 (HEAD -> master) HEAD@{0}: commit: 添加hello world
51f20d5 HEAD@{1}: commit (initial): 创建文件
*/
# 回退到指定版本
git reset --hard 51f20d5
# 版本回溯后同步到远程仓库
git push --force
3. 工作区和暂存区区别
git diff
3. 分支创建
# 创建dev分支并切换到dev分支上
git checkout -b dev
# 查看所有分支
git branch
/*
* dev
master
*/
4. 切换分支
# 切换到master分支
git checkout master
5. 分支合并(在dev分支上进行的修改不会同步到master分支上, 合并完成后就可以删除dev分支了)
# 合并指定分支到当前分支
git merge dev
# 删除dev分支
git branch -d dev
# 删除远程分支
git push origin --delete dev
6. 冲突问题
# 新建dev分支 和test.py 测试文件
- 在 dev分支下的test.py文件里添加一段内容如下, 添加完成后提交
# 这是dev文件下的内容
- 切换到master分支, 在master分支下的test.py 文件下添加内容如下, 添加完成后提交
# 这是master文件下的内容
注意 : 此时master分支下的test.py 文件和 dev分支下的test.py 文件内容不一样, 此时如果合并的话就会发生冲突了, 日志文件如下
$ git merge dev
Auto-merging test.py
CONFLICT (content): Merge conflict in test.py
Automatic merge failed; fix conflicts and then commit the result.
查看test.py 文件内容如下
<<<<<<< HEAD
# master 分支下的内容
=======
# 这是dev文件下的内容
>>>>>>> dev
7. 冲突解决办法, 删除不需要的代码, 重新提交
也就是执行如下代码
git add .
git comit -m ‘111’
git push
8. bug分支
bug修复过程中经常会需要用到bug分支来修复bug
- 首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支:
# 创建临时bug分支
git checkout -b bug-001
- 修改bug, 在bug-001 分支上test.py 文件内容
# master 分支下的内容
# 修复bug
- 修复完成后回到master分支, 合并bug-001分支到master分支上, 并删除bug-001分支
实际开发使用
第一个功能完成后:
git branch // 查看当前分支 假设为rights分支
git add . // 添加文件到暂存区
git commit -m 'commit' // 提交到本地仓库
git push // 上传至云端
git checkout master // 切换到主分支
git merge rights // 合并rights分支代码到master主分支
git push // 将本地master分支推送到云端
第二个功能开始:
git branch // 查看当前分支
git checkout -b goods // 新建子分支并切换到该分支
git push -u origin goods // 将goods子分支推送到云端
写代码。。。