查看帮助,要装git-doc,另外推荐git的图形客户端gitg,比gitk好看多了,用apt-get install就可
 
HEAD是当前工作版本的指针
 
--global保存的是当前用户的配置,配置文件保存在~/.gitconfig
 --system是系统中所有用户,配置文件一般在/etc/gitconfig
什么都不加就是当前目录下项目的配置文件,在项目的.git文件夹中
 git config --list 可以查看所有配置信息,有重名的因为有不同的配置文件,实际会采用最后一个
基本设置 
git config --global user.name yisen 
git config --global user.name yisen.n@gmail.com 
git config --global core.editor vim

给git着色
git config --global color.ui true 这样会好看一些

自动完成脚本
git默认要输入全命令,而且还不能像svn那样st,ci,co,有点不方便
其实在git的源代码文件夹中,contrib/completion 目录下的 git-completion.bash脚本可以实现自动完成
把它复制到~/.git-completion.bash,然后source之,并且把命令加到启动脚本中echo "source ~/.git-completion.bash >> ~/.bashrc"
现在我们就可以用我们习惯的<tab><tab>来自动补全命令了
 
Git 命令别名
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.logg "log --pretty=format:'%h - %an -%ad -%s'"
 
git log -p 查看每个版本的差异
git log a..b 查看a版本到b版本之间的log
 
git reflog 可以查看每个改动
git reset HEAD~1 撤销最近的一次改动
恢复数据 用reflog查看已经没了的提交的SHA值,然后直接git branch recover-branch ab1afef(SHA值前几位)
 
git checkout -b newbranch = git branch newbranch + git checkout newbranch 
git checkout -b newbranch develop = git checkout develop + git checkout -b newbranch
 
永远不要rebase那些已经推送到公共仓库的更新。
如果你遵循这条金科玉律,就不会出差错。否则,人民群众会仇恨你,你的朋友和家人也会嘲笑你,唾弃你。
如果把rebase当成一种在推送之前清理提交历史的手段,而且仅仅rebase那些永远不会公开的 commit,那就不会有任何问题。如果rebase那些已经公开的 commit,而与此同时其他人已经用这些 commit 进行了后续的开发工作,那你有得麻烦了。
 
忽略添加某些文件 
习惯git add .来增加所有更改,如果有不想被默认添加进仓库的,可以在项目目录下新建一个.gitignore文件,把文件名输进去,空行分隔,可以用*号。
 
局域网内共享仓库
无SSH的:
本机上用git clone --bare xxx xxx.git 克隆一个纯仓库
xxx.git放到服务器上一个项目组都能访问到的共享目录下,比如NFS,假设/mnt/git/xxx.git 
对方先mount到自己的/mnt/git,然后 git clone /mnt/git/xxx.git 
添加远程主机: git remote add origin file://192.168.x.x/opt/xxx.git
获取更新: git fetch origin 这时得到一个origin/master分支的指针,不能修改, 
可以合并到自己的主干 git co master, git merge origin/master,或者新建一个分支来工作,git checkout -b new_br origin/master
获取更新并合并到当前分支的命令可以合并为: git pull origin master  (master:master) 
 

改变最后一次提交
修改了文件后,git status看到有更改,git checkout -- . 可以撤销这些修改
git commit --amend可以重新提交一次,以便更改说明 
也可以先add或者rm一下后再使用上面的命令,可以修改上次提交。因为会更改sha值,所以不要在push之后再修改

取回前版本
git reset --hard/soft/mixed xxxxx, 取消所有修改,保留所有修改,默认,清空文件状态
git reflog 查看所有操作log

暂存工作
git stash 可以把你当前工作的杂乱无张的状态先暂存起来,然后你就可以切换到别的分支去工作
git stash list 可以看当前的暂存列表后
git stash apply 应用最新的一个暂存,git stash drop stash@{0}来删掉暂存

格式化的困扰
你可能会遇到行尾结束符问题。这是因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用换行一个字符。虽然这是小问题,但它会极大地扰乱跨平台协作。
git config --global core.autocrlf input 签出时不转换,提交是把CRLF转换成LF
git config --global core.autocrlf true 如果服务器是linux,工作在windows,提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。 
服务器跟工作都在windows上,设成false取消此功能

以上引用:http://my.oschina.net/yisenn/blog/23646

Git的一些东西(后续补充)的更多相关文章

  1. git语句(后续补充)

    如果你是windows用户,需要下载一个git应用程序,一路点就行,没有什么需要注意的地方 安装完成后在任一文件夹内右键都有显示,单击git bash here即可 简易的命令行入门教程: Git 全 ...

  2. Git 简易使用指南及补充

    Git最简易的使用指南 助你开始使用 git 的简易指南,木有高深内容,;) 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹, ...

  3. C#委托与事件--后续补充

    委托.事件补充 针对昨天文章 委托:让方法可以跟简单对象一样作为参数进行传递,也就是将方法作为参数进行封装. 方法:本质就是代码段 其实也好理解,目的就是为了封装,多态,既然简单对象如int i可以做 ...

  4. [Git] 024 log 命令的补充

    0. 回顾 [Git] 009 逆转未来 的 "1" 画张导图 其实 --oneline 前有个"关键字参数" "--pretty" --o ...

  5. [Git] 019 merge 命令的补充

    回顾:[Git] 017 加一条分支,享双倍快乐 的 "2.3" 1. "Fast-forward" "Git" 在合并分支时会尽可能地使用 ...

  6. git零基础【慢慢补充】

    git branch dev   //创建新分支 git checkout dev   //切换到新分支 git add .  //把当前修改加到暂存区 git commit -m "代码描 ...

  7. [Git] 026 config 命令的补充

    少废话,上例子 1. 让命令更醒目 $ git config --global color.ui true 2. 偷懒 $ git config --global alias.st status 使用 ...

  8. [Git] 012 rm 命令的补充

    0. 前言 [Git] 007 三棵树以及向本地仓库加入第一个文件 的 "2.5" 有提及 git rm --cached <file> 1. 介绍 git rm &l ...

  9. 浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析之后续补充说明(有图有真相)

    如果你觉得我的有些话有点唐突,你不理解可以想看看前一篇<C++之冒泡排序.希尔排序.快速排序.插入排序.堆排序.基数排序性能对比分析>. 这几天闲着没事就写了一篇<C++之冒泡排序. ...

随机推荐

  1. HDU 6095 17多校5 Rikka with Competition(思维简单题)

    Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he ...

  2. SQL注入之Sqli-labs系列第十八关(基于错误的用户代理,头部POST注入)

    开始挑战第十八关(Header Injection - Uagent field - Error based) 常见的HTTP注入点产生位置为[Referer].[X-Forwarded-For].[ ...

  3. 推荐系统-07-lambda架构

    Lambda 架构 Lambda 架构由Storm的作者Nathan Marz提出,其设计目的在于提供一个能满足大数据系统关键特性的架构,包括高容错.低延迟.可扩展等.其整合离线计算与实时计算,融合不 ...

  4. Ubuntu 12.04不能在華碩F81se系列電腦上安裝解决辦法

    本人華碩F81se系列的電腦,剛開始是裝的ubuntu 10.04的系統,周末閑的無聊,就想把系統換成ubuntu 12.04的,從ubuntu官網上下載了12.04的安裝包,下了個usb insta ...

  5. Java中的方法重载

    一.什么是方法重载? 方法重载就是两个或多个方法的方法名相同,但是方法的形参类型,数量,顺序不同. 上面提到的三点也就是一个方法的特征标,只要有一点不相同,则该方法就不相同,就可以实现重载. 在这里的 ...

  6. 【02_258】Add Digits

    Add Digits Total Accepted: 49702 Total Submissions: 104483 Difficulty: Easy Given a non-negative int ...

  7. java-抽象类的特点

    1.抽象类和抽象方法必须用abstract关键字修饰. - abstract class 类名() - public abstract void eat(); 2.抽象类不一定有抽象方法,有抽象方法的 ...

  8. (1)MySQL(入门操作安装\基本指令)

    什么是MySQL MySQL本质上就是用来管理数据的---用来做增.删.改.查 使用MySQL后管理数据就相对简单方便 数据库软件的种类: 1.什么是关系型数据库(关系型数据库特点就是对数据格式可以有 ...

  9. hdu4336 Card Collector 容斥原理

    In your childhood, do you crazy for collecting the beautiful cards in the snacks? They said that, fo ...

  10. 【usaco 2006 feb gold】 牛棚安排

    终于自己独立做出来一道题QAQ然而本校数据实在太水不能确定我是不是写对了... 原题: Farmer John的N(1<=N<=1000)头奶牛分别居住在农场所拥有的B(1<=B&l ...