Git命令汇总(基础篇)
自己用Git有一段时间了,随着项目越来越多,功能分支也随之增加,从简单的基础命令到随心所欲,需要自己不断地去尝试总结,下面来分享一下我的Git使用总结。
本章基础篇主要讲解一些Git代码提交流程和Git基础命令的使用。
一、Git版本分支管理
以下是一个比较基本的分支管理示范,每个公司的项目管理运作不同,分支管理也有各自的特色,但万变不离其宗。
1) dev分支用于日常开发
2) 当有新版本需要发布时,把dev代码合并到release分支做集成测试,并等待发布
3) release分支进入bug修复阶段
4) 如果在release分支发现bug,那么在release分支进行修改,并使用git cherry-pick把修复bug的commit合并到release分支上
(cherry-pick与merge不同,它的合并是以commit为单位而非整个branch)
完成后,release分支上所有代码改动(除版本号之外)都应该已经合到了dev分支上
5) release分支测试完成后,发布到线上环境
6) 并且打上tag,合并到master分支上
7) 如果在线上出现bug,那么在master上hot fix修复
8) 出现hot fix并修复后,需要重新把hot fix的代码合并到dev以及release分支中去使代码保持一致

二、Git基本命令汇总
1.查看本地文件状态
git status —-查看本地、本地仓库、缓存(stash)的文件修改状态
—红色 代表本地工作空间的文件修改
—蓝色 代表提交到本地仓库中的文件(git add .)
2.切换版本/覆盖当前修改文件
git branch - 查看当前版本
git branch -a 查看所有版本
git checkout XXX(版本名) —-切换到远程库中XXX版本
git checkout filepath —覆盖当前修改的文件
git checkout . -覆盖当前所有修改文件
3.从远程库获取最新代码
git remote -查看远程库名称
git remote -v
git remote show XXX(远程库名)
git fetch — 从remote端拉取最新代码
git pull XXX(远程库名) XXX(分支名) -把拉取的最新代码跟当前工作空间合并
git rebase —把远程拉回的代码和本地合并
4.缓存本地代码
当要切换到其它版本时,想保存在当前版本修改的文件:在切换前做
git stash —-把本地修改过不需要提交的文件放入缓存
git checkout XXX(版本) —切换库版本
切回原来的库,把文件从stash缓存中拿出来
git stash pop — 从缓存中拉出
5.提交远程库
git add .
git commit -m ''
git remote 查看远程关联名称
git push remote的名称 本地master
6.处理冲突
git fetch 拉取最新工程
git pull XXX(远程库名) XXX(分支名) -把拉取的最新代码跟当前工作空间合并
冲突产生后,去工作空间修改后,>>>新代码===老代码<<<,保留最终代码,删除提示符,重新提交。
7.把本次提交的内容提交到其他分支(比如发布时bug的修改)
git cherry-pick commitId
8.建议执行顺序
git status 查看修改状态
git checkout filename 放弃某文件的修改。
git stash 储存修改
git fetch 拉取最新工程
git rebase 与本地分支合并
git stash pop 弹出储存文件,此时新文件可能会与你的文件产生冲突,解决冲突。
git add filename 添加某个修改文件
git add . 提交所有加点
git reset HEAD filename 回滚指定文件,回滚所有加点:"git reset HEAD . "
git commit -m''
git push 本地remote远程分支名,本地分支名
例我的本地分支为master 远程remote 别名为 origin 则提交为git push origin master
9.切换HEAD
git reflog --查看HEAD记录
git reset --hard HEAD^ //切换到之前一个HEAD
git reset --hard fad4462 // 切换到某个已经回退的HEAD
10.刪除 local branch
git branch -d <branch_name>
Git命令汇总(基础篇)的更多相关文章
- Git命令汇总(补充篇)
上一篇<Git命令汇总基础篇>总结了使用Git的基本命令,这一篇作为补充主要给大家讲一些平时使用中的技巧和总结 . 学会了这些命令,已经基本解决了使用Git中大部分问题. 1.gitign ...
- Git操作(基础篇)
Git操作(基础篇) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常 ...
- 常用Git命令汇总
常用Git命令汇总 跟着R哥来到了新公司(一个从硬件向互联网转型中的公司),新公司以前的代码基本是使用SVN做版本控制,甚至有些代码没有做版本控制,所以R哥叫HG做了一次Git分享,准备把公司所有的代 ...
- 3分钟学会git命令的基础使用
前言废话 下面我们就来看看gitlab服务器搭建好(http://www.cnblogs.com/JeremyWYL/p/8258368.html) 之后,git命令的基础使用,基本上就能满足我们平时 ...
- 常用 Git 命令汇总
Git 命令汇总 1 Git 的一些通用术语 1.1 Git 的几个区 1.2 如何标识 Git 的某次提交 2 Git 配置 2.1 配置 2.2 读取配置 2.3 与 Beyond Compare ...
- Git命令之回退篇 git revert git reset
Git command之回退篇 欲练回退 必先了解:HEAD.index.WorkingCopy HEAD: 当前所在的分支版本顶端的别名,也就是最新的一次commit. git commit 之后与 ...
- GIT之二 基础篇(2)
远程仓库的使用 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某个项目时,需要管 ...
- windows下使用Git命令汇总
这里只是简单汇总下Git主要命令,方便记忆:汇总的不好,请各位包容,谢谢!想看详细讲解,推荐廖雪峰大神的教程,地址如下:http://www.liaoxuefeng.com/wiki/00137395 ...
- GIT之二 基础篇(1)
GIT基础 取得项目的 Git 仓库 有两种取得 Git 项目仓库的方法.第一种是在现存的目录下,通过导入所有文件来创建新的 Git 仓库.第二种是从已有的 Git 仓库克隆出一个新的镜像仓库来. 在 ...
随机推荐
- celery rabbit mq 详解
Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, ...
- Python之qq邮件
用python发送电子邮件验证这个功能,可以说花费了我很久时间,这也是为什么我重头敲了之前的两遍代码.不要说我傻,仅仅是笨了一点而已 ^.- . 之前我所参考是如何发送 GMail. 但是我并不想这么 ...
- C++ 随机生成一个(0,1)之间的小数
double p; ]; memset(s,,sizeof(s)); s[]='; s[]='.'; ;i<;i++) { s[i]=rand()%+'; } p=atof(s); cout & ...
- SSH三大框架整合步骤
Struts2:需要整合的第一个框架: 1.创建一个动态web项目 2.导入struts2必须的jar 放到 lib目录下 ,再 build path 添加web工程中 3.配置struts2的核心配 ...
- Luogu 2296 寻找道路
https://www.luogu.org/problemnew/show/2296 题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以 ...
- Android模仿iOS iMessages10照片选择器的实现
不知不觉已经接近半年多没有写过博客了,这段时间,也是我刚好毕业走出校园的时间,由于学习工作的原因,一直没有真正静下心来写下些什么东西.这个星期刚入了小米笔记本pro的坑,本着新电脑新生活的理念嘻嘻-- ...
- Android 开发笔记___textvieww__跑马灯效果
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 介绍一款好用 mongodb 可视化工具
最近想自己搭建一个个人博客,所以学了下mongodb,mongodb是用命令行输入的,有些人可能不太习惯,我自己找了下mongodb的一些可视化工具,一开始安装的是mongoVUE,mongoVUE页 ...
- cocos2d导入iOS原生项目
最近公司最新发下任务让融合一个cocos2dx写的游戏项目融合进现有项目,当看到要求时内心瞬间无数羊驼奔腾.------ 虽说内心是拒绝的,但是任务已经派发就必须要完成啊.所以在网上搜了大量的融入教程 ...
- redis源码分析之事务Transaction(上)
这周学习了一下redis事务功能的实现原理,本来是想用一篇文章进行总结的,写完以后发现这块内容比较多,而且多个命令之间又互相依赖,放在一篇文章里一方面篇幅会比较大,另一方面文章组织结构会比较乱,不容易 ...