005_git专题
一、仓库管理
➜ gittest git:(master) git config --local user.name "arunguang"
➜ gittest git:(master) git config --local user.email "arunguang@gmail.com" ➜ gittest git:(master) git config --local --list
user.name=arunguang
user.email=arunguang@gmail.com --global < --local(local优先级最高)
解释及实操:
(1)
git add readme.md #把该文件放入git暂存区,通过git管理起来.
git add -u #all tracked files in the entire working tree are updated,即把所有已经加到暂存区的文件的更新一块添加更新 git reset --hard #清理掉自commit以后暂存区的所有改变(非常危险)
--hard Resets the index and working tree. Any changes to tracked files in the working tree since <commit> are discarded.
(2)变更文件名
git mv readme.md README.md
(3)git log详解
git log #git log后面不加任何分支,默认是查看当前分支的修改历史
git log --all #查看所有分支的修改历史
git log --oneline #以简短的方式查看git提交的历史记录
git log -n 2 #限制显示查看git log提交历史记录的最近几条
(3)分支管理
git checkout -b temp c6d9fd798e3cb652bd2977663b9e7fcc391b711a #基于git log的某个点创建分支
git commit -am"second" #-a, --all Tell the command to automatically stage files that have been modified and deleted
git log --all --graph --oneline #以图形化的方式查看更改历史
* fe6b335 (HEAD -> temp) second
| * 3538299 (master) mv readme to README.md
|/
* c6d9fd7 On branch master Changes to be committed: modified: readme.md
* 621445a xxx1
(4)查看帮助
git help -web log #以网页方式查看帮助
(5)gitk #图形管理工具
二、.git目录解密
(1)
➜ .git git:(temp) cat HEAD
ref: refs/heads/temp #指向当前的所在分支
cat .git/config
[core]
repositoryformatversion = 0
....
[user]
name = arun6688 #更改git的user.name的配置
email = arunguang@gmail.com
➜ gittest git:(master) git config --local user.name #再次查看已经更改了
arun6688
➜ gittest git:(master) git config --local user.name 'arunold' #再次查看config文件也已经更改了
(2).git/refs/ 目录
➜ heads git:(master) cat master
3538299062b25ce5e36e9467d0c204837f273fcb
➜ heads git:(master) cat temp
fe6b335bcca87443dd907668bd2ce388f14eddc2
➜ heads git:(master) git cat-file -t 3538299062b25ce5e36e9467d0c204837f273fcb #-t查看对象命令
commit
➜ heads git:(master) git cat-file -t fe6b335bcca87443dd907668bd2ce388f14eddc2
commit
➜ heads git:(master) git branch -av
* master 3538299 mv readme to README.md
temp fe6b335 second
➜ tags git:(master) git cat-file -p 293406d5c363001f169321e3008053c445e1b521 #-p查看对象内容
object 3538299062b25ce5e36e9467d0c204837f273fcb
type commit
tag test1.0
tagger arunold <arunguang@gmail.com> 1544517262 +0800 this is tag test
(2)
➜ 35 git:(master) pwd
.git/objects/35
➜ 35 git:(master) ls
38299062b25ce5e36e9467d0c204837f273fcb
➜ 35 git:(master) git cat-file -t 3538299062b25ce5e36e9467d0c204837f273fcb #目录+文件名即是git对象的hash值
commit
➜ 35 git:(master) git cat-file -p 3538299062b25ce5e36e9467d0c204837f273fcb
tree 9a522cb3bad21d631a84b9264ffb315602fbb079
parent c6d9fd798e3cb652bd2977663b9e7fcc391b711a
author arunguang <arunguang@gmail.com> 1544512480 +0800
committer arunguang <arunguang@gmail.com> 1544512480 +0800 mv readme to README.md
三、commit tree blob是git中主要的对象
tree对应的是文件夹.
四、常见的企业中使用的git写作方式
https://en.wikipedia.org/wiki/Rolling_release
https://www.git-tower.com/learn/git/ebook/cn/command-line/advanced-topics/git-flow
常用:https://guides.github.com/introduction/flow/
------------------------------------------------------------------------
一、文件管理
(1)git恢复删除文件
➜ git:(master) ✗ git ls-files --deleted
camel-agent-deploy-update.sh
➜ git:(master) ✗ git checkout -- camel-agent-deploy-update.sh
➜ git:(master) ls #看到已经恢复了
camel-agent-deploy-update.sh
(2)
git log #查看git整个的提交目录日志
git log -p files #查看某个文件的详细修改记录
参考:http://blog.csdn.net/whu_zhangmin/article/details/18596665
三、分支管理
git branch -a看下ansible分支的名称
git checkout -b ansible分支 eg:git checkout -b ansible2 origin/ansible
pip install -e `pwd` #-e, --editable <path/url> Install a project in editable mode (i.e. setuptools "develop mode") from a local project path or a VCS url.
四、开发nginx代码的良好使用方式
为了不污染nginx本身的代码,所以一般开发人员会用git diff生成差异的patch文件,然后到真正编译上线的时候再根据diff出的patch文件apply到现有的代码上,这样新添加的代码就会添加到原有nginx代码上,再进行编译即可
git diff > add-ssl-status.patch #生成patch文件
git apply add-ssl-status.patch #把patch文件的git差异变更代码加入到现有的nginx中
005_git专题的更多相关文章
- 2016年中国微信小程序专题研究报告
2016年12月29日,全球领先的移动互联网第三方数据挖掘和分析机构iiMedia Research(艾媒咨询)权威首发<2016年中国微信小程序专题研究报告>. 报告显示,82.6%手机 ...
- [.NET领域驱动设计实战系列]专题二:结合领域驱动设计的面向服务架构来搭建网上书店
一.前言 在前面专题一中,我已经介绍了我写这系列文章的初衷了.由于dax.net中的DDD框架和Byteart Retail案例并没有对其形成过程做一步步分析,而是把整个DDD的实现案例展现给我们,这 ...
- 转载:《.NET 编程结构》专题汇总(C#)
<.NET 编程结构>专题汇总(C#) - M守护神 - 博客园http://www.cnblogs.com/liusuqi/p/3213597.html 前言 掌握一门技术,首要 ...
- 设计模式(Design Pattern)系列之.NET专题
最近,不是特别忙,重新翻了下设计模式,特地在此记录一下.会不定期更新本系列专题文章. 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结. 使用 ...
- arcgis api for flex之专题图制作(饼状图,柱状图等)
最近公司给我一个任务,就是利用arcgis api for flex实现在地图上点(业务数据)直接显示饼状图以及柱状图的专题图制作,而不是通过点击点显示气泡窗口的形式来实现,这个公司已经实现了. 经过 ...
- supermap iclient for js 标签专题图(服务端)
<!DOCTYPE><html> <head> <meta http-equiv="Content-Type" content=" ...
- 【原】Spark学习总结-六个专题
最近从hadoop转向Spark了,学了一段时间了,准备写个专题,主要写pySpark的应用,主要计划是: 主题 内容概要 聚类(5.6) 1.几种常用的聚类算法:2.pyspark中聚类算法的应用( ...
- 【ESRI论坛6周年征文】ArcEngine注记(Anno/ Label/Element等)处理专题 -入门篇
原发表于ESRI中国社区,转过来.我的社区帐号:jhlong http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=122097 ----------- ...
- Endnote专题之--output style相关问题
Endnote专题之--output style相关问题 1. 打开output style, Edit--->Output Styles--->选择要编辑的某个style模板,如下面的E ...
随机推荐
- Fence Repair(poj3253)
题目链接:http://poj.org/problem?id=3253 Description Farmer John wants to repair a small length of the fe ...
- 【POJ3974】最长回文字串
在这里采用的是哈希+二分的方法. 根据回文串的性质可知,可以将回文分成奇回文和偶回文分别进行处理. 对于奇回文来说,每次枚举的端点一定是重合的,因此只需计算出端点左右公共的长度是多少即可,因此二分的是 ...
- [luoguU42591][小T的绝对值]
luoguU42592 20分思路 对给出的序列求出前缀和,然后\(n^2\)暴力枚举即可拿到第一档分 40分思路 对于数列中的数都相同的情况.只需要特判即可.只要特别注意全都是0的情况即可. 100 ...
- 2: Eclipse反编译工具Jad及插件JadClipse配置
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...
- word中批量修改图片大小的两个方法
前言: 对于把ppt的内容拷贝到word中: 对ppt的一页进行复制,然后粘贴到word中 如果要的是ppt运行过程中的内容,在qq运行的情况下,按Ctrl+Alt+A截屏,按勾,然后可以直接粘贴到w ...
- Mysq中的流程控制语句的用法
这篇博客主要是总结一下Mysq中的流程控制语句的用法,主要是:CASE,IF,IFNULL,NULLIF 1.case CASE value WHEN [compare-value] THEN res ...
- 在Vue中如何使用axios跨域访问数据
最近在项目中需要用到axios,所以就恶补一下这个axios到底是什么东东.越来它是vue-resource的替代品,官网也说了,以后都用axios, vue-resource不在维护.那么这个axi ...
- 自定制Centos7.3系统镜像(ISO)
本文主要介绍如何根据官方的Centos镜像文件,在保留原有默认安装的RPM包的基础下,添加自己所需要的RPM包的,最终生成一个自定制版的ISO,节省了宝贵的时间并确保了安装的定制性.对于其他没有介绍的 ...
- Hibernate_事务管理
今天学习Hibernate,发现当我在执行下面操作时,不会对数据库产生任何效果,就是说Customer对象并不会保存到数据库中 Session session = HibernateUtils.ope ...
- JAVA 远程通讯机制
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI.MINA.ESB. Burlap.Hessian.SOAP.EJB和JMS等,这 ...