Git 小记
感觉用github管理自己平时的一些代码挺方便的,尤其还有各种统计,作为一个码农,就有一种每日签到、累计签到统计的感觉。用github,学习git自然是不可避免的,原先只是用几个 git clone 、 git add 、 git commit 、 git pull 、 git push 、 git log 等命令,一般的使用凑合能应付吧,主要使用github在线看历史修改。不过有时确实想本地看下历史代码,或者有些类似撤销( git reset )操作不学会真实失去了用代码版本控制的意义了,就打算好好学下git吧,以前都逃避了。以前在公司用过hg,不过当时就是一知半解,很多操作还得让同事来帮一下,这种东西了解一下内部工作原理还是有必要的。有时事情就是这样,一个软件应该是做到足够的友好,让用户不用花太多心思去了解软件的内部机理,不过不了解还真用不好,像其他语言、库也是一样。
看到很多都推荐《Git权威指南》,看了20章感觉看不下去了,后来又有人说《Pro Git》不错,看了一下确实比前面一本讲的浅显一点,图比较多,看着舒服一点,当然也不排除已经看第一本感觉后者容易了的可能。
Pro Git中Chapter 9 Git 内部原理(9.1~9.3)非常值得一看,个人感觉看过后就能更好的理解那些常用操作的原理了(所以可以在基本的几个操作会后马上试一下),也就不用去硬记一些流程了。
本来还想自己写点Git操作的,不过Pro Git真正非常不错,直接去那里看吧。
推荐:
Pro Git(有中文版翻译) http://git-scm.com/book/
Git图解:http://marklodato.github.io/visual-git-guide/index-en.html
还是要平常记录一下,用用一些常用的稍稍有点复杂的功能否则一会儿就忘了。
Git 命令别名
git status这个命令肯定是使用频率最高的一个,完完整整打个status挺累得,好在可以给git后面的这些子命令取一些别名:
git config --global alias.st status
config子命令用来修改配置文件,--global由于指出修改的时全局配置文件而不是用户的或者是这个项目的,alias.st status表示用st这个别名来代表status这个命令。所以现在可以这样使用了:
git st
当然不能走极端把什么commit改成ci之类的,commit这么有成就感的命令,越长越好。
Git log 查看commit-id,日志
每次commit,git都有一个唯一的id,可以通过git log命令获取
Git reset 恢复文件
1. 准备commit时,发现把还没改完的文件用git add 放到暂存区了,想把它移出来等到下一次在commit
$ git reset HEAD path/to/file
这也是git add后会给出的提示
2. 如果想让当前工作目录回到某个commit时的样子,可以如下(所有目前未commit的更改都会没有):
$ git reset --hard commit-id
commit-id可以通过git log来获取
Git 小记的更多相关文章
- Git小记
Git简~介 Git是一个分布式版本控制系统,其他的版本控制系统我只用过SVN,但用的时间不长.大家都知道,分布式的好处多多,而且分布式已经包含了集中式的几乎所有功能.Linus创造Git的传奇经历就 ...
- git --help出来的命令 + eclipse里用git小记
用法:git [--version] [--help] [-C <path>] [-c name=value] [--exec-path[=<path>]] ...
- Git 的 WindowsXP安装
文章1: http://blog.sina.com.cn/s/blog_5063e4c80100sqzq.html 一.安装必要客户端 1. TortoiseGit http://tortoisegi ...
- git stash错误小记
git出错小记 想要push代码,我们经常这样做. 1.查看状态 git status 2.隐藏本地编辑的新内容 git stash 3.拉远程的代码 git pull 这一步操作有的时候会报错,没有 ...
- Git使用小记
刚刚简答的完成了pureblog,想着先上传导Github上去,等着以后有时间了在完善其功能,所以使用Git上传导Github代码仓库上去,这里简答的记录以下使用小计. 我们首先下载Git,我们使用用 ...
- Mac git提交步骤小记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 19.0px; font: 13.0px "PingFang SC"; c ...
- git基础使用小记
一.安装步骤省略二.运行“Git Bash“在打开的窗口中输入:ssh-keygen -t rsa -C "my@gmail.com" 会提示SSH Public Keys存放的位 ...
- git仓库构建小记
1.新建 .git 文件夹 约定的文件目录下,新建 .git 文件夹 mkdir test.git 2.初始化服务端仓库 git init --bare test.git 此时进入 test.git ...
- git学习笔记 看廖大神视频小记
1.创建一个空目录 $ mkdir gittemp $cd gittemp $pwd //x显示当前目录 2.$ git init 把这个目录变成git可以管理的仓库 多的一个隐藏的.git 目录 可 ...
随机推荐
- [Swift实际操作]七、常见概念-(7)日历Calendar和日期组件DateComponents
本文将为你演示日历和日期组件的使用.通过日历的日期部件,可以获得日期的各个部分. 首先引入需要用到的界面工具框架 import UIKit 初始化一个日期对象,其值为当前的日期. let dt = D ...
- nginx请求频率限制模块ngx_http_limit_req_module
模块: ngx_http_limit_req_module 作用: 限制客户端请求频率,防止恶意攻击 配置示例: http { limit_req_zone $binary_remote_addr z ...
- xss跨站脚本攻击汇总
- 编写线程安全的Java缓存读写机制 (原创)
一种习以为常的缓存写法: IF value in cached THEN return value from cache ELSE compute value save value in cache ...
- spring中的context:include-filter和context:exclude-filter的区别
在Spring 的配置文件中有: <context:component-scan base-package="njupt.dao,njupt.service"> < ...
- java日期加减操作
1.用java.util.Calender来实现 Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()) ...
- tcp ip三次握手链接和四次挥手断开
先来个整体的流程图 一 三次握手目的是为了建立连接... 1 核心的就是client端和service端,进行数据"报文" 交换 2 报文,目的是互相通知,确认链接 ...
- (转)rpm2cpio和cpio
原文:https://blog.csdn.net/jubincn/article/details/6687550 rpm2cpio命令:将rpm格式的文件转为cpio格式的文件.rpm是linux中常 ...
- 如何虚拟机里安装win7操作系统
不多说,直接上干货! Windows Server 2003.2008.2012系统的安装 关于给电脑换系统,很多人会花钱去电脑店里换,或者是下载Ghost系统.但这些系统都不是微软原版的,制作者已经 ...
- mysql5.6常用查询sql
查看连接数,状态 1.查询进程 show processlist 查询到相对应的进程===然后 kill id 2.查询是否锁表show OPEN TABLES where In_use &g ...