1.Git相关介绍
Git是一个分布式的版本控制软件
- 版本控制:类似于不断修改的毕业论文等文档,需要反复修改以及保留原历史记录
- 分布式:
- 文件夹拷贝
- 本地版本控制
- 集中式版本控制:SVN
- 分布式版本控制:
windows下的git使用(其实与linux下使用区别不大,只是开发环境不一样)
- git入门阶段(git管理文件)
- 进入要管理的文件夹
- 右键Git BashHere
- 初始化该文件夹
- git init(此时需要管理的文件夹后会出现master)
Administrator@DESKTOP-DERDNH1 MINGW64 /e/git_project/git-1 (master)
-
管理该目录下的文件状态(此时该文件夹里有文件)
- git status
- 如果文件为红色字样,说明是新增的,未纳入git管理的文件。
输入git add xxx - 如果文件为绿色字样说明该文件已经被纳入管理。
- 版本生成之后的文件
- 如果文件为红色字样,说明是新增的,未纳入git管理的文件。
- git status
-
个人信息配置:用户名、邮箱
git config --global user.email "you@example.com"(必须要使用真实可接收文件的邮箱)
git config --global user.name "Your Name"
-
生成版本
git status
git commit -m ‘文件描述信息’ -
查看版本
git log -
新增功能,将新增的功能也提交到git add下面进行管理
git add
git commit -m “描述信息”
git mv 修改文件 -
回滚到之前的版本
git log
git reset --hard 版本号 -
回滚到之后的版本
git reflog
git reset --hard 版本号
- 修复线上bug的思路。Git分支
- 目前所在分支
git branch
- 创建分支
git branch 分支
- 切换分支
git checkout 分支名称
- 分支合并(可能会产生冲突),手动解决
git merge 要合并的分支
- 删除分支
git branch -d 分支名称
2.Guthub
一般使用github可以做到在任何地方开发代码,注册github账号创建远程仓库。
参考资料:GitHub使用教程
- 给远程仓库起别名
git remote add origin 远程仓库地址
- 向远程仓库推送代码
git push -u origin 分支
- 克隆远程仓库代码
git clone 远程仓库地址
- 切换分支
git checkout 分支
- 拉取代码
git pull origin 分支
- 将分支进行合并
git checkout xx1
git merge xx2
git push origin xx1
将xx2合并到xx1分支,并进行上线
3.多人合作开发项目
- github提供两种方式供多人协同开发
- 合作者,将用户添加到仓库合作者中之后,该用户就可以向当前仓库提交代码
- 组织,将成员邀请进入组织,组织下可以创建多个仓库,组织成员可以向组织下仓库提交代码。
-
code review:代码review之后才能合并到dev分支
-
预发布(由专门团队或团队leader执行步骤)
- 基于dev分支创建release分支
git checkout dev
git checkout -b release
- 测试
- 合并到master主分支
使用pull request提交申请,合并修复等等
git merge release
- 在master分支打tag
git tag -a 某一版本 -m '描述信息'
git push origin --tags
- 其他成员下载代码上线
git clone -b 某一版本 地址
4.常见的git配置
- 配置文件
- 项目配置文件:项目文件夹里边的.git里边
git config --local user.name 'username'
git config --local user.email 'username@xx.com'
- 全局配置文件
git config --global user.name 'username'
git config --global user.email 'username@xx.com'
- 系统配置文件:/etc/.git config
git config --system user.name 'username'
git config --system user.email 'username@xx.com'
- 免密码登陆
- URL中的体现
原来的地址:https://github.com/user/project.git
修改的地址:https://用户名:密码@github.com/user/project.git
git remote add origin https://用户名:密码@github.com/user/project.git
git push origin master
- SSH体现
1.生成公钥和私钥(默认放在~/.ssh目录下,id_rsa.pub公钥、id_rsa私钥) ssh-keygen
2.拷贝公钥的内容,并设置到github中。
3.在git本地中配置ssh地址
git remote add origin git@github.com:user/project.git
4.以后使用
git push origin master
- git忽略文件
让git不在管理某些文件
*.h
!a.h
files/
*.py[c|a|d]