常用的一些git命令整合
一.创建一个版本库
1.mkdir xxx
2.git init 使用git init命令将这个目录变成Git可以管理的仓库
这个版本仓库创建好了,xxx目录下有一个隐藏的.git目录(里面有暂存区(state/index)和分支管理库(master/dev..)),除了.git目录其它是工作区。
二.添加文件并提交
1.git add xxx 将这个文件添加到暂存区
2.git commit 将暂存区文件提交到本地仓库
-m "注释" 是本次提交的说明信息,用来注释本次操作
三.管理文件修改
1.差异比较:git diff -- xxx 可以查看工作区和版本库里面最新版本的区别
2.查看状态,提交修改: git status命令查看当前工作区的状态
3.日志查看: git log 可以查看历史每次提交信息
--pretty=oneline看日志加这个参数可以精简许多
4.查看日志的时候,有一个HEAD->master 表明的是HEAD这个指针标记当前master分支的当前版本所在的位置。
5.版本回退:git reset --hard HEAD^ 表示回退到上一个版本
git reset --hard HEAD {commit id} 通过git reflog找到对应的commit id来用这个回退对应版本
6.暂存区撤销修改:git reset HEAD <fiel> 来撤销缓存修改。意思是回退到当前版本及暂存区干净。
7.工作区撤销修改:git checkout -- <file> 来撤销当前文件的修改,即工作区的文件内容不变是干净的。
8.全局配置: git config --global
别名配置: git config --global alias.别名 "真实名字"
给复杂的git log --pretty=onelog取个别名git lg并且给添加一点颜色:
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
9.关联远程仓库:git remote add origin ssh://git@192.168.50.33:10022/zhanghuyi/hello-git.git
第一次推送本地仓库到远程仓库的master分支:git push -u origin master
第二次推送本地仓库到远程仓库的master分支:git push origin master
10.克隆远程仓库:就是把远程仓库的复制一份到本地,克隆后会创建一个新的本地仓库:git clone ssh://git@...git
11.再本地拉取最新的代码:git pull
四.分支的创建和合并
1.创建分支: git checkout -b 分支名 这样就创建好一个新的分支并HEAD切换到分支了。
可以分解成(git branch 分支名)#创建分支 和 (git checkout 分支名) 切换到具体的分支
2.合并分支:git checkout master切换回master分支
然后git merge dev命令将 dev分支的修改合并到master分支
3.删除分支:使用git branch -d 分支名来删除指定分支,注意:要删除一个未合并的分支。需要使用-D参数进行强制删除
4.冲突解决:git log --graph --pretty=oneline --abbrev-commit命令来查看解决冲突完的干净工作区了
五.保存工作区状态
1.git stash 快照当前的状态,现在去解决更紧急的bug,等下来开发这个dev.
2.然后切换到master去修复bug,修复完成后回到dev去
3.工作区是干净的,之前的修改哪去了查看: git stash list命令查看
4.工作现场还在,git把stash内存存在某个地方,但是需要恢复一下,有两个办法:(一般采用2)
1) 方式1:用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
2) 方式2:用git stash pop,恢复的同时把stash内容也删了:
3) 注意,以上指令都可以在后面紧跟 stash的序号,来操作指定stash,例如: git stash apply stash@{0}
常用的一些git命令整合的更多相关文章
- 常用终端及git命令
终端常用命令 1,打开终端,git version 查看版本 2,pwd 打印工作目录 3,ls(list简写)查看当前目录的所有文件 4,clear 清掉屏幕 5,cd (change direct ...
- 开发过程中常用到的git命令
将git上项目下载到本地 1.将项目下载到本地 git clone (git项目地址) 2.进入项目文件夹中(cd 某文件夹) 切换到要使用的分支 git checkout develop 3.抓取远 ...
- Redis 常用数据结构及其控制命令整合
Redis 键值支持5种基本结构,分别是字符串,列表,哈希,集合,有序集合.每一种数据结构都有对应的取值和设值命令,辅助命令,除此之外,还有一些全局命令,用来管理Redis存储的所有 键. 全局命令 ...
- 最简单、最常用的一些Git命令
---------------------------------------------------------------------------------------------------- ...
- 项目管理---git----快速使用git笔记(六)------本地开发与远程仓库的交互----常用git命令
无论是我们自己把本地的项目新建了一个远程仓库 还是 从远程仓库获取到了 本地,现在我们都在本地有了一份项目代码,服务器上对应有项目代码的信息. 现在我们就开始进行交互操作了. 也就是说明一些在 正常开 ...
- 我所记录的git命令(非常实用)
一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...
- 一些非常实用的git命令
阅读目录 一.前言 二.git branch 和 git checkout 三.git clone 和 git remote 四.git pull 和 git push 五.git merge 和 g ...
- 常用Git命令清单。
上期传送门:[清单]7个管理和优化网站资源的工具 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 Index / Stage:暂存区 Repository: ...
- 工作中常用的git命令
一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份 ...
随机推荐
- nginx官网版本说明
nginx软件下载:http://nginx.org/en/download.html Mainline version:Nginx 正在主力开发的版本Stable version:最新稳定版,生产环 ...
- [Linux]LVM扩展卷
LVM LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活 ...
- [jQuery]jQuery和DOM对象互换(四)
DOM 和 jQuery 相互转换 DOM 转jQuery $(DOM对象) # (1)直接获取 $('video'); # (2)转换 $(DOM对象) var myVideo = document ...
- Properties(hashtable的子类)
Properties: Properties是hashtable的子类(在java.util包中).该集合的特点:可以用于键值对形式的配置文件,且不允许Key重复,若有重复的,后者会覆盖前者. 也就是 ...
- js—数字那些事儿
进制之间互相转化 a=133 十进制转成其他进制 a.toString(num) a.toString(2); //转化成二进制,返回"10000101" a.toString(8 ...
- android sdk manager 无法更新,解决连不上dl.google.com的问题
感谢博主的帮助,入口在这:https://www.jianshu.com/p/8fb367a51b9f?utm_campaign=haruki&utm_content=note&utm ...
- 如何利用Azure DevOps快速实现自动化构建、测试、打包及部署
前两天有朋友问我,微软的Azure好用吗,适不适合国人的使用习惯,我就跟他讲了下,Azue很好用,这也是为什么微软云营收一直涨涨涨的原因,基本可以再1个小时内实现自动化构建.打包以及部署到Azure服 ...
- MySQL快速回顾:数据库和表操作
前提要述:参考书籍<MySQL必知必会> 利用空闲时间快速回顾一些数据库基础. 4.1 连接 在最初安装MySQL,可能会要求你输入一个管理登录(通常为root)和一个口令(密码). 连接 ...
- Integer使用==做判断遇到的问题
问题: 最近使用Integer类型的数据做判断时,遇到了一个神奇的问题. 如: Integer a=223; Integer b=223; 这样使用==做判断,得到的结果是 false 原因: 后来查 ...
- 初识Mybatis和一些配置和练习
什么是Mybatis: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. MyBat ...