版本控制
-
git 概念了解
-
git基本操作流程
-
git工作区,暂存区,版本库(本地仓库)
-
git常用命令
git add
git commit - m “”
git status
git log
git diff
git rest --hard commotid
git checkout – 文件名
git rm 文件名
git branch
git branch 分支名
git merge 分支名
git branch -d 分支名
git push
git pull
git clone 远程仓库路径
版本控制 reviosn control
维护工程蓝图的标准做法 项目从立项开始,所有的文件变化都记录在案
- 备份
- 代码还原
- 协同修改
- 多版本项目文件管理
- 追随问题代码的编写人和编写时间
- 权限控制
Git 分布式版本控制系统
Linus 开源 Linux windows linux mac
GitHub 开源项目
CVS / SVN 集中式版本控制系统 库版本集中存放在中央服务器 ( 需要联网 )
Git分布式版本控制 无网自己也是一个版本库 , 有网 可以互联
初始化设置
git config --global user.name "孙happy"
git config --global user.name "[email protected]"
git init
添加文件到暂存区与本地仓库
git add file1.txt file2.txt
git commit -m "操作信息"
暂存(index) 位于项目文件夹/.git/index 下
本地版本库(local repository) 项目文件夹./git/objects/ 下
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200806154132694.png?x-oss-
查看版本库的状态
git status 主要查看缓存区内容
提交日志
git log 操作历史记录
git log --pretty=oneline
<commit id > 唯一标识符 ,保证全球唯一 (确保连机代码合并时可能出现异常)
查看异常
git diff 不同版本之间的差异 也就是不同conmit之间
版本回退
从最近的一个`commit` 恢复
当前版本 `HEAD`
上一个版本 `HEAD^`
上上一个版本 `HEAD^^`
所以写成`HEAD~100`。
回到指定版本
git reset --hard <commit id>
撤销修改
git checkout -- filename 丢弃工作区的修改 (留意--后面有一个空格)
readme.text 修改后未放入暂存区 , 则返回版本库模样
readme.text 修改后放入暂存区 , 则返回暂存区模样
删除文件
git rm a.tet
git add .
git commit
分支管理
查看分支 git branch
创建分支 git branch<name> : $ git branch xiaosun
切换分支 git checkout <name>
创建+切换分支 git checkout -b<name>
将某分支合并到当前分支 git merge <name>
删除分支 git branch -d<name>
git 文件冲突
git会对每个文件逐行进行比较,如果在合并的时候,如果同一行有两个人同时修改过,那么就不知道使用哪部分的代码,这是造成冲突的原因。
Gitee 码云的使用
-
注册登录
-
新建仓库
-
填写相关信息
-
操作相关指令,将本地文件push到远程仓库
-
复制相关路径 ,在ideal中克隆打开
6. 在本地master中创建本地分支进行相关项目开发 7. 完成后, 将自己本地代码上传到远程仓库保存 8. 测试 , 无异常则与本地master合并 9. 无异常 ,则将本地合并代码提交远程master
-
文件新增编辑和删除(本地路径)
** 棕色:红棕色 未被 Git 管理(未添加到暂存区)
**绿色:**新增的文件 且 加入到暂存区
**蓝色:**文件已经提交到远 程但是 该文件又被编辑过了
**黑色:**代表该文件在当前版本与远程是一致的
团队开发注意事项
-
组员每次开发,都必须先 push 到自己的远程分支
-
每次对 master 分支做合并或推送之前,原地备份代码
-
组员(组长)确保自己分支的代码与 master 分支都没有错误以后,将本地 master 推送到远程
-
每天早上开发前,先切换到 master 分支,更新代码,对整个项目进行备份,再切换到自己的分支,
然后将 master 合并到自己的分支上
-
每个小组每天必须保证一份新的代码,即组员除了将代码提交到自己的分支以外,都必须再将自己的代码合并到master
-
再次强调,每次合并或推送前,都先对项目进行备份,避免操作不熟练导致出错后代码丢失
组每天必须保证一份新的代码,即组员除了将代码提交到自己的分支以外,都必须再将自己的代码合并到master
- 再次强调,每次合并或推送前,都先对项目进行备份,避免操作不熟练导致出错后代码丢失