关于git的一些注意点:
在工作中:git分支共有五个:
- master,最终发布版本,整个项目中有且只有一个
- develop,项目的开发分支,原则上项目中有且只有一个
- feature,功能分支,用于开发一个新的功能
例如:
- feature,功能分支,用于开发一个新的功能
创建一个新的功能分支:feature-hsx-addActivity
git checkout -b feature-hsx-addActivity
新功能点的开发在本分支中完成后,检测无误后merge在Develop分支中;
- release,预发布版本,介于develop和master之间的一个版本,主要用于测试
- hotfix,修复补丁,用于修复master上的bug,直接作用于master
【Bug修复】
- hotfix,修复补丁,用于修复master上的bug,直接作用于master
开发中需要增加一个新的功能时,可新建feature分支,用于增加新功能,并且不影响开发中的develop源码,当新功能增加完成后,完成feature分支,将新功能合并到develop中,更新develop上的代码,之后删除feature分支
在功能开发完成后,将本地仓库同步至远程仓库时,一般推送(push)前先拉取(pull)一次,确保一致
Git 基础
git 命令 | 用途 |
---|---|
克隆(clone): | 从远程仓库URL加载创建一个与远程仓库一样的本地仓库 |
提交(commit): | 将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送) |
检出(checkout): | 切换不同分支 |
添加(add): | 添加文件到缓存区 |
移除(remove): | 移除文件至缓存区 |
暂存(git stash): | 保存工作现场 |
重置(reset): | 回到最近添加(add)/提交(commit)状态 |
合并(merge): | 将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消 |
抓取(fetch): | 从远程仓库获取信息并同步至本地仓库 |
拉取(pull): | 从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 ** pull=fetch+merge ** |
推送(push): | 将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致 |
分支(branch): | 创建/修改/删除分枝 |
标签(tag):给项目增添标签
工作流(Git Flow):|团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分枝
终端(terminal):|可以输入git命令行
总结一下在工作中常用的一些git命令:
git 命令 | 用途 |
---|---|
git status | 检查当前文件状态(繁琐) |
git add . | 跟踪新文件(将文件加入暂存区) |
git diff | 查看已暂存和未暂存的修改 |
git diff --cached | 查看已经暂存起来的变化 |
- | - |
git commit -m "注释本次提交更新的内容"
|
提交更新 |
git rm | 记录此次移除文件的操作 |
- | - |
git log | 查看提交历史 |
- | - |
$ git commit --amend | 撤消操作 |
git reset HEAD <file>... | 取消暂存 |
- | - |
git remote | 查看远程仓库 |
git remote -v | 显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL |
git remote add <shortname> <url> | 添加一个新的远程 Git 仓库 |
git fetch <remote> | 远程仓库中抓取与拉取(会访问远程仓库,从中拉取所有你还没有的数据) |
git pull | 自动抓取后合并该远程分支到当前分支 |
git remote show <remote> | 查看某个远程仓库 |
git remote rename | 远程仓库的重命名与移除 |
打标签 | - |
git tag | 列出标签 |
git show | 看到标签信息和与之对应的提交信息 |
Git 分支
git 命令 | 用途 |
---|---|
git branch | 分支创建 |
git checkout | 切换到一个已存在的分支 |
git merge | 分支的合并 |
git branch -d | 删除分支 |