git 版本控制

193 阅读3分钟

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

  1. 首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支:
# 创建临时bug分支
git checkout -b bug-001
  1. 修改bug, 在bug-001 分支上test.py 文件内容
# master 分支下的内容
# 修复bug
  1. 修复完成后回到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子分支推送到云端

写代码。。。

git上传项目到远程仓库

1. 生成SSH公钥(ssh-keygen),一直回车即可在这里插入图片描述

2. 将公钥复制下来,粘贴至码云仓库

公钥地址(c盘用户目录下): C:\Users\gkl12\.ssh

[外链图片转存失败(img-c9VKo8Jj-1568995363386)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568994474838.png)]

[外链图片转存失败(img-rRcNeyMa-1568995363387)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568994576884.png)]

3. 克隆项目到本地(复制SSH地址)

[外链图片转存失败(img-DNlDUMnX-1568995363388)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568994704326.png)]

[外链图片转存失败(img-RdaUOjBF-1568995363388)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568994765637.png)]

4. 上传文件到刚创建的项目(这里取名为test.py)

[外链图片转存失败(img-sHiwTPeS-1568995363389)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568994862824.png)]

5. 上传需要做的几个步骤

(1) git add .  添加所有文件到缓冲区
(2) git commit -m "tset文件"  添加至本地仓库
(3) git push      推送至云端

[外链图片转存失败(img-e3xOJx1B-1568995363390)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568995010846.png)]

[外链图片转存失败(img-1wwvEHBY-1568995363391)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1568994991830.png)]