##Git 简单使用教程
###1.git 控制器初始化
简易的命令行入门教程:
Git 全局设置:
git config --global user.name "yourname"
git config --global user.email "yourname@163.com"
创建 git 仓库:
mkdir GitTutorials
cd GitTutorials
git init (git 初始化)
touch README.md (添加 README.md 文件)
git add README.md (添加文件到 git 目录中)
touch .gitignore (添加 .gitignore (设置忽略的文件))
git add . (添加所有文件到git 目录)
git ls-files (查看添加到git 中的文件目录)
git commit -m "first commit" (添加注释 便于查看信息)
git remote add origin https://git.oschina.net/sdaduanbilei/GitTutorials.git (添加远程git 地址)
git push -u origin master (提交到远程git)
已有项目?
cd existing_git_repo
git remote add origin https://git.oschina.net/sdaduanbilei/GitTutorials.git
git push -u origin master
###2. git 分支 合并
git branch (查看本地分支)
git branch -r (查看远程分支)
git checkout -b dev1 (创建分支 本地分支 并切换到新的分支)
然后在 dev1 分支进行代码修
未修改完的时候 及时保存
推送dev1 分支到远程服务器
git push origin dev1
开发完成后,并及时推送到对应分支,保存代码
git checkout master // 切换回主分支
git merge dev1 // 把dev1 的代码合并到主分支
一般按模块开会不会有冲突,如果有冲突 git 会进行反馈
git diff 可以查看冲突
冲突一般不会出现,具体的冲突出现对应查询即可
###3 git flow 使用
git flow init (初始化 初始化之前确保没有任何本地分支)
scorpio:GitTutorials scorpio$ git flow init
Which branch should be used for bringing forth production releases?
- master
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
scorpio:GitTutorials scorpio$ git branch
* develop
master
完成后当前所在分支就变成 develop. 任何开发都必须从 develop 开始:
git flow feature start some_awesome_feature
完成功能开发之后:
git flow feature finish some_awesome_feature
该命令将会把feature/some_awesome_feature合并到develope分支,然后删除功能(feature)分支。
将一个 feature 分支推到远程服务器:
git flow feature publish some_awesome_feature
或者 git push origin feature/some_awesome_feature
当你的功能点都完成时(需要发布新版本了),就基于develop创建一个发布(release)分支,然后升级版本号并在最后发布日期前把Bug Fix掉吧:
git flow release start v0.1.0
当你在完成(finish)一个发布分支时,它会把你所作的修改合并到master分支,同时合并回develop分支,所以,你不需要担心你的master分支比develop分支更加超前。
git flow 流程图
主要分支
master: 永远处在即将发布(production-ready)状态
develop: 最新的开发状态
辅助分支
feature: 开发新功能的分支, 基于 develop, 完成后 merge 回 develop
release: 准备要发布版本的分支, 用来修复 bug. 基于 develop, 完成后 merge 回 develop 和 master
hotfix: 修复 master 上的问题, 等不及 release 版本就必须马上上线. 基于 master, 完成后 merge 回 master 和 develop
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。