GIT 分布式管理工具
Git的认识 Git基础命令 Git分支及管理策略 Git在Hbuilder、eclipse中的简单应用
GIT的认识
简介 Git是什么? Git是分布式版本控制系统(区别于svn这类集中式管理系统)。 Linus创建开源的Linux要管理来自全世界的Linux志愿者的代码,由于Linus本人对 集中式版本控制系统的排斥,再加上需要管理的代码量日益加大,终于,这位宇 宙牛人用c语言花了两周时间编写了一个分布式管理系统,那就是GIT。 Git迅速成为最流行的分布式版本控制系统,尤其是2008年,GitHub网站上线了, 它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery, PHP,Ruby等等。
GIT基础命令
初始化本地仓库 初始化一个Git仓库(repository),使用git init命令。 本地仓库就建好了。
Add commit 添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件; 第二步,使用命令git commit,完成。 注意:第一次提交完成后会默认创建master分支;
STATUS DIFF 要随时掌握工作区的状态,使用git status命令。 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
HEAD EAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id。 穿梭前,用git log可以查看提交历史/分支历史,以便确定要回退到哪个版本(可查看 版本ID)。
HEAD 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。 通过git reset –hard commit_id命令是版本回退到d1faa5d
BRANCH 分支 创建分支:git branch <name> 切换分支:git checkout <name> === 创建+切换分支:git checkout -b <name> 合并某分支到当前分支:git merge <name> 删除分支:git branch -d <name>
BRANCH 分支 合并某分支到当前分支:git merge <name> 注意:要切换到将要合并到的分支上,并且在提交前要在分支上做一次commit。 success 删除分支:git branch -d <name>
远端repository关联 git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需 要ssh的配置。github的ssh配置如下: 1.设置Git的user name和email: $ git config --global user.name "xuhaiyan"$ git config --global user.email haiyan.xu.vip@gmail.com 2.生成密钥: $ ssh-keygen -t rsa -C “haiyan.xu.vip@gmail.com” 按3个回车,密码为空。
远端repository关联 用cat id_rsa.pub命令打开此文件分支其中ssh秘钥 将秘钥添加到远程库ssh key如下图
远端repository关联 如果想将本地已有git版本仓库推送到远程仓库,使用命令: 1. 建立关联: git remote add origin git@github.com:username/repositoryname.git 2. 推送本地仓库版本分支: git push -u origin master 如果想从远端clonegit版本库,使用命令: git clone git@github.com:username/repositoryname.git
提交到远端 将分支提交到远端命令git push origin master
GIT分支管理策略
分支管理策略 Git鼓励大量使用分支: 分支策略 在实际开发中,我们应该按照几个基本原则进行分支管理: 首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活; 那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如 1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本; 你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分 支上合并就可以了。 所以,团队合作的分支看起来就像这样:
分支管理策略 Git分支十分强大,在团队开发中应该充分应用。 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来 曾经做过合并,而fast forward合并就看不出来曾经做过合并。
GIT ON hbuilder/eclipse
GIT 在hbuilder和eclips中的基本应用 git有很多可视化工具如 GIT GUI、GitHub Desktop 等; 包括在eclips、Hbuilder中也有git自己的可视化插件; 阿斯蒂芬 左图为Team下众多git功能选项 右图为暂存区、工作区、及仓库的窗口
import
分支工作 创建分支修改文件
add commit 文件修改后提交
add commit 提交分两步 1. add 到暂存区(staged/index); 2. commit 注意必须要添加提交说明
commit and push 如图:commit and push 的作用是将当前分支改动后的commit连通分支 一并push到远端
分支合并 首先切换到将要合并到的分支 然后合并分支
push 分支 Push 分支
版本回退 版本回退
sweet
Atom Atom 由github 维护的编辑器提供大量的插件包,结合git、github desktop 可以很开心 的开发
edn