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 目录 可 ...
随机推荐
- Binary Search-483. Smallest Good Base
For an integer n, we call k>=2 a good base of n, if all digits of n base k are 1. Now given a str ...
- Django(wsgiref、jinja2模块使用介绍)
day60 wsgiref比较稳定 """ 根据URL中不同的路径返回不同的内容--函数进阶版 返回HTML页面 让网页动态起来 wsgiref模块版 "&qu ...
- Python中获取当前时间 获取当前时间前几天的代码
当然 需要引入 datetime import datetime 获取当前日期:datetime.datetime.now().strftime('%Y-%m-%d') 获取当前日期前七天日期: no ...
- Spring+Mybatis整合时 Failed to read candidate component class,Caused by:IllegalArgumentException
Spring+Mybatis整合时Caused by: java.lang.IllegalArgumentException错误 org.springframework.beans.factory.B ...
- WEB-INFO 目录
WEB-INF下面的内容都是只能由服务器级别才能访问,客户端并不能访问. 转发就是服务器级别,浏览器的地址不会变,因为,客户端发送一个请求,服务器受理之后,发现要请求内容还要再去别的请求,那么转发就是 ...
- javascript数据结构与算法--二叉树遍历(后序)
javascript数据结构与算法--二叉树遍历(后序) 后序遍历先访问叶子节点,从左子树到右子树,再到根节点. /* *二叉树中,相对较小的值保存在左节点上,较大的值保存在右节点中 * * * */ ...
- QuantLib 金融计算——基本组件之 Currency 类
目录 QuantLib 金融计算--基本组件之 Currency 类 概述 构造函数 成员函数 如果未做特别说明,文中的程序都是 python3 代码. QuantLib 金融计算--基本组件之 Cu ...
- (转)关于IBM小机P520的面板使用
原文:http://www.xlgps.com/article/390810.html 经过搜索资料及自己的试验,现将解决方法记录如下.P520控制面板上有三个按钮,按钮上方有一个显示屏,上面显示你操 ...
- ubuntu编译安装ruby1.9.3,从p551降级到p484
在升级redmine的时候遇到ruby版本适配的问题.找了些资料. ruby安装包除了官方网站,可以参考 http://ftp.ruby-lang.org/pub/ruby/1.9/ 需要从1.9.3 ...
- litespeed 下配置 伪静态,反向代理
<IfModule mod_rewrite.c>RewriteEngine onRewriteBase / RewriteRule ^(.*).html$ index.php?static ...