刚使用git的时候,一脸茫(meng)然(bi),找了些资料看后才算稍微理解了些git。可在git图解了解git工作原理。
git的基本使用
以移动端APP开发为例:
git clone <版本库的网址> //将版本库项目克隆到本地
cd /Users/用户名/Desktop/本地库目录 //cd到本地库目录(每次的git命令操作前都必须先cd到本地库目录下)
git pull //拉取最新代码,此步骤完成后,本地库和版本库内容已同步,可以开始编辑本地库
git status //编辑完成后,可通过该命令当前状态:1.本地没有修改(nothing to commit, working tree clean),2.有修改但还没add(Changes not staged for commit:和红色提示modified:),3.有修改但已add未committed(Changes to be committed:和绿色提示modified:)
git branch //查看当前所在分支(绿色为当前)
git add . //添加
git commit -m "提交信息" //提交
以上添加和提交也可合并做一句:git commit -am"提交信息"
git push //推送至版本库
至此一次简单的拉去和提交已经完成,想知道提交记录:
git log //查看提交记录
然而正常工作中不可避免的会出现提交错误,所以就需要撤销:
git commit --amend //修改上一次commit 的message
git reset --hard //撤销提交
有时候还需要给本次提交打上标签,一般是记录一个版本的完成:
git tag 标签内容 //添加标签
git push --tags origin master //推送标签至版本库
git rebase的使用
基础的使用熟悉一段时间后,开始接触rebase了,同样对rebase也是一脸...此处推荐git rebase原理。
不管用哪种方式,基本套路相同,前面已经注释过,这里就直奔主题:
1.先更新master到最新
cd 本地库目录
git checkout master
git pull origin master
2.开始开发task-1任务
git checkout -b task-1
git commit -am "提交信息"
/***或者
git add .
git commit -m"提交信息"
***/
3.rebase最新的master
git checkout master
git pull
git checkout task-1
git rebase master
/***
有冲突的时候,先解决冲突,然后
git add .
git rebase --continue
***/
git checkout master
git merge task-1
4.将master推送到远程
git push
5.删除本地分支
git branch -d task-1
开发过程中如此重复回到第2步即可
git-folw的使用
git-flow是一个 git 扩展集:
1.新建feature分支
git flow feature start 名字 //将以develop分支为起点,建立并切换到"feature/名字"的分支
2.合并feature分支到develop
# 前提:当前在上次建立的”feature/名字“分支下
git fetch origin //获取服务器上已经更新的代码,但不执行合并
3.将当前feature分支上的所有commit,在origin/develop为基础,打一系列的补丁
git rebase origin/develop
4.合并到本地的develop分支
git flow feature finish 名字
5.上传代码
git push origin develop
最后,推荐使用OSX 程序 Sourcetree, 是一个很好的git 界面客户端,可以勾选rebase选项,也提供了 git-flow 的支持。