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 目录 可 ...
随机推荐
- MySQL(视图、触发器、函数)
day61 参考:http://www.cnblogs.com/wupeiqi/articles/5713323.html 视图 视图:给某个查询语句设置别名,日后方便使用 ...
- Centos之文件搜索命令find
find [搜索范围] [搜索条件] #搜索文件 find / -name install.log #避免大范围搜索,会非常耗费系统资源 #find是在系统当中搜索符合条件的文件名.如果需要匹配, 使 ...
- error: failed to push some refs to 'https://github.com/username/python.git'
解决error: failed to push some refs to 'https://github.com/bluepen/python.git' 当我们在使用git工具上传我们自己的代码时,可 ...
- hive算法报错..
hive普通语句查询报错.. 查到以下设定项,,附加在语句前执行成功.. 但是有可能没有真正的执行.. 试到最后使用标红的三行附加在语法前执行成功 set hive.execution.engine= ...
- 【原创】Team Foundation Server 域环境迁移
先说下此片博客的上下文:部门所在的业务被集团出售,因此我们所有的计算机和服务器都得重新命名,退出当前域加入新公司的域.对于PC和其他服务器,目前不存在太大问题.但是对于Team Foundation ...
- (转)支持Multi Range Read索引优化
支持Multi Range Read索引优化 原文:http://book.51cto.com/art/201701/529465.htm http://book.51cto.com/art/2016 ...
- pthon获取word内容之获取表单
需求:把word里面的表单内容获取 按照规则拼成字符串 转换成类似下面的样子 代码如下: from docx import Document import re def parse_docx(f): ...
- 【原】中文Ubuntu主目录下的文档文件夹改回英文
想把中文Ubuntu主目录下的文档文件夹改回英文,在Terminal下面操作的时候要输入中文特别不方便,于是便用了更改名字的想法 方法一: 首先把那几个中文名称修改成相应的英文,比如 Desktop. ...
- JavaScript -- 运算符、eval、Parse
----- 003-运算符.html ----- <!DOCTYPE html> <html> <head> <meta http-equiv="C ...
- bootstrap table 修改table内容时设置表头与表格对齐
第一:取消表头初始化解决表头和内容不对齐问题,取消后表头将不固定. 在你对应的js(bootstrap-table.min.js或bootstrap-table.js,我用的bootstrap-tab ...