paopao日常工作中常用的一些git指令和流程,好记性不如烂笔头,在此记录一下便于查找,也分享给大家。O(∩_∩)O
1.git查看操作指令类:
git init 本地文件夹新建git库
git remote add origin 项目远程仓库地址 关联本地库与远程某个项目
git branch 查看当前分支
git checkout -b dev_new 基于当前分支,新建一个分支名为dev_new
git checkout dev 切换到已有分支dev
git status 查看分支状态
git status 查看分支状态
git checkout . 放弃修改,回退到上次状态
git pull origin 分支名 从指定分支上拉取代码
eg: git pull origin dev_tangtang
当我想从远程仓库里拉取一条本地不存在的分支时(本地分支命名随意,总之与指定远程分支关联):
git checkout -b 本地分支名 origin/远程分支名
这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。
eg: git checkout -b dev_paopaosama origin/dev_old
比如:基于远端dev_old分支新建一个本地分支名为dev_paopaosama
删除本地分支:
git branch -d xxx
git branch -D xxx
git push origin --delete 远程分支名 删除远程分支
版本回退指令:
git reset --hard 1aff69632ef7aab4f028783(要回到的log版本号)
git rm -r --cached .idea 删除暂存区的某个文件,比如不小心把.idea文件add进去了,就先移除再commit
(加--cached,这样不会删除本地的.idea,只是取消版本管理)
2.提交代码流程:
git add . 添加所有改动文件(增删改)
git add -A 添加所有新增或修改文件(增改),不包括删除
git commit -m ‘备注信息自定义’ 添加log日志并补充版本信息
git pull origin 分支名 团队协作开发时,先拉取远程分支最新代码再push,防止冲突
git push origin 分支名 推送当前log到远程分支
3.分支合并:merge
基于master分支(比如commit版本号为111111@#¥#¥@)
创建了dev_paopao分支,开发了新的功能完成之后,如何合并到master分支呢?
1.当前位于dev_paopao:
1.1 git add .
1.2 git commit -m '炮炮新开发了一个大火箭'
假如:此时生成的新commit版本号为2222222@#@¥@#¥2
1.3 git chekout master 切回本地master分支
2.当前位于本地masterfenzhi :
2.1 git merge dev_paopao 合并dev_paopao分支的代码
(此时输入git log 可以看到master分支已经升级为了2222222@#@¥@#¥2!)
2.1.1 git pull origin master 如果是团第写作开发,远端有别人的新代码的话(比如commit已经不是11111而是33333),先拉取远端最新代码,会自动把远端的33333与本地的22222@#@¥2合并为44444.如果是个人开发,请忽略这一步
2.2 git push origin master 推送新版本到远端master分支,此时远端为22222@#¥#@~,如果操作过2.1.1话,远端应为44444
4.关于tag
git tag v1.0 新增tag为v1.0
git tag -a v2.0 -m '这是tag2.0的备注' 新增tag2.0并备注为‘这是tag2.0的备注’
git tag -a 1aff69632ef7aab4f028783 v3.0 -m '这是tag3.0的备注'
为指定commit log即1aff69632ef7aab4f028783新增tag为v3.0并备注为‘这是tag3.0的备注’
git show tag 2.0 查看2.0tag的版本号等信息
git tag 查看已有所有tag
git tag -d v3.0 删除本地v3.0tag
git push origin :refs/tag/v3.0 删除远端的v3.0tag(远端没有权限时会失败,提示![rejectd])
git push origin v1.0 把本地v1.0的tag推送到远程
git push origin --tags 把本地所有的tag推送到远程