本文记录git入门常见操作流程
Git基础
Git是一个分布式版本控制系统,分布式版本控制系统它相较于本地版本控制(本地保存多个副本)的方式不易混淆,相较于集中化的版本控制系统(CVCS)更能保证数据安全性与完整性,客户端并不只提取最新版本的文件快照, 而是把代码仓库完整地镜像下来,包括完整的历史记录。 Git中文件有三种状态:已提交(committed)、已修改(modified)和已暂存(staged)。
- 已修改:修改了文件,但还没保存到数据库中。
- 已暂存:对一个已修改文件的当前版本做了标记,使之包含在下次提交中。
- 已提交:数据已经安全地保存在本地数据库中。
Git项目分为工作区、暂存区以及仓库区三部分,其中:
- 工作区为我们进行开发的地方。
- 暂存区存储了被git记录的修改
- 仓库区存储已经被提交的修改
下载安装
官网下载:nju.fanya.chaoxing.com/portal
配置
安装完git后,需要设置你提交时使用的用户名和邮件地址;(使用 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息)
$ git config --global user.name "xxhhy"
$ git config --global user.email xxhhy@example.com
使用git config --list命令列出所有配置,检查配置。
创建分支
使用分支操作可以将我们的工作从主线开发上分离开,如只在master分支上保留完全稳定的代码,而将develop分支用于开发,当develop分支稳定时再合并入master分支。使用git branch xxx命令创建新分支,使用git checkout xxx将当前分支切换为新创建的xxx分支,在该分支下进行开发与提交。
当develop分支稳定(阶段性功能开发完成且通过测试后),可将其合并入master分支。通过git checkout master进入master分支,使用git merge xxx,将xxx分支合并入master分支中。
其余常用操作有使用git brach命令查看当前所有分支的列表、使用git branch -d xxx删除xxx分支。
拉取
使用git clone命令将远程已有的仓库拉取到本地:
git clone git@github.com:用户名/仓库名.git
使用git fetch获取远程仓库的最新版本到本地(不会自动merge),或使用git pull从远程获取最新版本并merge到本地。
git fetch origin master
git pull origin master
提交
使用git add xxx命令来添加修改到暂存区, .表示添加当前目录下所有改动过的文件。
git add .
git add 单个文件
git add 文件夹/ 文件夹2/
使用 git commit -m "message" 的时候,暂存区的修改会被应用并且被记录为一个提交。
使用git push将暂存区的提交推送到远程仓库,push时可以要选择要push的分支:
git push -u origin master
使用git log查看提交记录。
commit规范
提交commit时,应遵循<type>: <subject>的规范:
- feat: 新功能
- fix: 修复bug
- docs: 文档变更
- style: 代码格式 (不影响代码运行的变动)
- refactor: 代码重构
- perf: 改善性能
- test: 测试相关
- chore: 构建或辅助工具的变动 如:
git add .
git commit -m "feat: 添加用户登录功能"
冲突
有时候合并操作不会如此顺利。 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,合并时就会产生冲突。
使用 git status 命令来查看那些因包含合并冲突而处于未合并(unmerged)状态的文件,手动修改其中冲突的部分,待冲突解决后再次merge。