一、命令
Git 基础操作:
- 克隆仓库:
git clone 仓库地址 [目录名称(可选)]
示例:git clone https://github.com/user/repo.git my_repo
- 初始化仓库:
git init [目录名称(可选)]
示例:git init my_project
- 添加文件到暂存区:
git add 文件名或目录名
示例:git add index.html
- 提交文件到版本库:
git commit -m "提交说明"
示例:git commit -m "添加了首页文件"
- 查看文件状态:
git status
示例:git status
- 查看提交记录:
git log
示例:git log
- 撤销对文件的修改:
git checkout -- 文件名
示例:git checkout -- index.html
分支操作:
- 创建新分支:
git branch 分支名
示例:git branch dev
- 切换到指定分支:
git checkout 分支名
示例:git checkout dev
- 创建并切换到新分支:
git checkout -b 分支名
示例:git checkout -b feature-branch
- 合并分支到当前分支:
git merge 分支名
示例:git merge feature-branch
- 删除分支:
git branch -d 分支名
示例:git branch -d dev
远程操作:
- 添加远程仓库:
git remote add origin 仓库地址
示例:git remote add origin https://github.com/user/repo.git
- 将本地提交推送到远程仓库:
git push origin 分支名
示例:git push origin master
- 从远程仓库拉取最新代码:
git pull origin 分支名
示例:git pull origin master
- 查看远程仓库信息:
git remote -v
示例:git remote -v
- 从远程仓库克隆到本地:
git clone 仓库地址
示例:git clone https://github.com/user/repo.git
其他操作:
- 忽略文件:
在 .gitignore 文件中添加需要忽略的文件或目录,每行一个。
- 查看文件修改的差异:
git diff 文件名
示例:git diff index.html
- 回退到指定版本:
git reset --hard 提交ID
示例:git reset --hard 123456
- 创建标签:
git tag 标签名
示例:git tag v1.0.0
- 查看标签:
git tag
示例:git tag
二、疑难点
一、项目分支创建时间
在一个规范的合作项目中,分支的创建和合并的时间和进度通常会根据项目的具体情况和团队的工作流程而有所不同。以下是一个常见的时间和进度安排示例:
1. 项目启动阶段:
- 创建主分支(如 `main` 或 `master`),用于托管稳定版本的代码。
- 确定开发流程和工作流程,包括分支命名规范、代码审查流程、测试策略等。
2. 新功能开发阶段:
- 根据项目需求,从主分支创建开发分支(如 `develop`)。
- 根据需求,从开发分支创建功能分支(如 `feature/add-new-feature`)。
- 在功能分支上进行开发,完成功能的代码编写和单元测试。
- 开发完成后,提交合并请求(Pull Request)到开发分支,进行代码审查和讨论。
- 经过审查和讨论后,将功能分支合并回开发分支。
3. 测试阶段:
- 在开发完成一定功能后,创建测试分支(如 `test`)。
- 将开发分支合并到测试分支,并在测试环境中进行集成测试和用户验收测试。
- 若测试通过,将测试分支合并回开发分支。
4. 版本发布阶段:
- 在开发完成一定功能并经过测试后,创建发布分支(如 `release-1.0.0`)。
- 在发布分支上进行最后的测试和准备工作,如更新版本号、生成文档、打包等。
- 若一切就绪,将发布分支合并回主分支,并打上对应版本的标签。
5. 紧急修复阶段:
- 若在发布后发现紧急 bug,立即创建修复分支(如 `hotfix-1.0.1`)。
- 在修复分支上进行修复,并进行相应的测试。
- 修复完成后,将修复分支合并回主分支和开发分支。
以上是一个常见的项目分支创建和合并的时间和进度安排,具体的实施步骤可以根据项目的实际情况和团队的需要进行调整和定制。重要的是确保团队成员之间的协作顺畅,并且代码库的版本控制能够有效管理和维护。
三、笔记
1.特点:delta-based 、快照流、本地执行、保证完整性、保证完整性、一般只添加数据
2.三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)
3.三个阶段:工作区、暂存区、Git 目录
reference: