git开发流程-MAC
如果你像我这么轴,不使用git第三方工具。只使用原生的开发代码,希望可以帮助到你。
- 拉取代码(在git上开发),前提是你要有项目权限,并在git上设置了ssh密钥。(安装git另行百度)
git clone +项目地址(git项目首页有地址,我喜欢用http)
- 拉取完默认是在master主分支上,切换到开发分支,不要问为什么,一般的会有这些
- master:主分支,一般就是正式环境使用的
- dev 开发分支
- test 测试分支
- local 本地开发分支一般是有1.0.1这种版本区分
具体查看分支:
git branch
git branch -a //红色的就是远程库的分支
切换分支:
git checkout dev
//如果你是新创建的项目,想玩玩git-->这一步走下面的代码
1.在git上创建好项目:git上有指引
1.1git clone 之后
1.2git checkout -b dev //创建并转到dev
1.3git push --set-upstream origin dev //设置更新的流为dev,并将流同步到git
- 保险起见来个拉取代码(好习惯👌)
git pull
- 接下来就是本地开发了,直接在dev上开发不好,如果污染了dev会很麻烦,所以最好以dev 未例子创建一个local开发分支,local只做本地,随便造,崩了在拉取就妥妥的。
git checkout -b local //从当前所在分支上创建一个
git push --set-upstream origin local
或者有local分支的就直接git checkout local
//新分支local(自动会切换到新建分支上)
git push //将代码推送到local分支 多push没坏处,保证代码最新
- 本地开发ing …巴拉巴拉巴拉巴拉,写了一堆bug,写完调试,嗯,乱中有序,能实现功能,来提交代码吧
git pull //拉取下代码,避免其他人在此分支上做流更改,再运行自己的功能模块,没有冲突最好,有冲突解决就好,
如果git pull提示有风险,可能会将本地代码覆盖,不要慌,来执行下面几步
1.git stash //暂存本地代码
2.git pull //拉取代码
3.git stash pop //释放暂存代码
4.代码里有冲突的赶快解决,再运行,保证自己功能完成,并不影响其他人的功能就OK
git add . //添加本地目录下所有未提交的更改文件流 --没有提交,只是合成流
git status //查看流中的文件-如果有不想提交的代码,比如一些本地的配置文件
1.git reset 文件路径//此时不想提交的文件可以去除掉,路径就是git status中展示的
git commit -m 'add:增加用户登录接口' 给你的流起个名字,比如说本次代码做了什么
git push //推送代码
- 切换回dev分支合并local分支代码
git checkout dev //切换回dev分支
git merge local //将local的代码合并到dev上(保证两个分支的本地代码此时都是最新的)
git push //将合并后的代码推送到dev分支
- 什么?想反悔?本地做的所有更改都不要了,这样情况是有的,
我经常在测试服务器直接vi修改文件重启服务。
git checkout -- . //撤销本地所有修改,你值得拥有 .表示当前目录下
//如果撤回指定文件,就是
git checkut -- 加相对路径
- 接下来就是发测试,提测,发灰度,再测,再写bug。。。。。生命不息,迭代不止。
已经到commit暂存区的但未push的代码 回退版本
git log //查看日志
git reset --hard fbe6618b824d24686a60c4162 //回退到固定版本
commit后push强制回退版本
git reset --hard 0b6f2c88a54411a442f923ed //本地回退版本
git push origin HEAD --force //强制远程同步
删除分支
git branch -d local //删除本地local分支 -D强制删除
git push origin --delete local //删除远程local分支
更新+1(git pull || {git fetch、git merge})
合并分支时:git pull 不是很好,看了一些文章后觉得git pull好用,但比较生硬。使用git fetch 和git merge 代替,其实,对我来说没必要,解决不了的冲突依然存在,还是需要git stash暂存再释放,本地如果没有未提交的分支,这个就没有必要了。
修改分支名称
旧分支old,新分支new
git branch -m old new //m-> move
git push --delete origin old
git push orgin new //推送新分支
git branch --set-upstream-to origin/new //设置远程推送分支为new