git命令笔记2
git乱码解决:在Ubuntu下,git status时,中文文件名乱码类似“274\232\350\256\256\346\200\273\347\273\223.png”,修改配置即可"git config --global core.quotepath false"
(参考:http://blog.zengrong.net/post/1249.html)
配置全局.gitigonre
添加文件~/.gitignore_global,然后在~/.gitconfig里加入:
[core]
excludesfile = ~/.gitignore_global
.
# 忽略所有后缀为.a的文件
*.a
# 不忽略lib.a(相对于上面的)
!lib.a
# 只忽略根下的TODO,不递归到子目录
/TODO
# 忽略所有build/下的文件
build/
# 忽略类似doc/notes.txt,但不包括doc/aa/bb.txt
doc/*.txt
# 忽略所有doc文件夹下的txt文件,递归到子目录
doc/**/*.txt . Short Status
$ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt New files that aren’t tracked have a ?? next to them, new files that have
been added to the staging area have an A, modified files have an M and so on. .
git diff 与已经commit的比较
git diff --staged 已经add的比较与已经commit的比较
git diff --cached 与staged同义 .
git rm .txt 会真的删除文件2.txt(需要commit)
git rm --cache .txt 只是移除git的管理状态,不会删除物理文件
git rm log/\*.log 删除log文件夹中的.log文件,注意这里的\*中的\是对*进行转义
git rm \*~ .
git mv a.txt b.txt
=
mv a.txt b.txt
git rm a.txt
git add b.txt
(这种3行命令的方式,git依然能够理解是在进行重命名操作) .
git log 查看log
git log -p 查看每次提交的变化
git log -p - 查看最近两次提交的变化
git log --stat 查看提交的统计信息(如下:)
README | ++++++
Rakefile | +++++++++++++++++++++++
lib/simplegit.rb | +++++++++++++++++++++++++
files changed, insertions(+)
git log --pretty=oneline
git log --pretty=format:"%h - %an, %ar : %s"
Option Description of Output
%H Commit hash
%h Abbreviated commit hash
%T Tree hash
%t Abbreviated tree hash
%P Parent hashes
%p Abbreviated parent hashes
%an Author name
%ae Author e-mail
%ad Author date (format respects the –date= option)
%ar Author date, relative
%cn Committer name
%ce Committer email
%cd Committer date
%cr Committer date, relative
%s Subject
git log --pretty=format:"%h %s" --graph //a nice little ASCII graph
git log --since=.weeks . Undong Things
git commit --amend //场景:刚已经进行了提交,但是可能有文件忘记了add
或者还有什么需要修改后在这次提交中提交的,可以使用--amend,这样可以将这些修改补充到刚才的提交中
git add .txt
git commit -m 'hahh, a commit'
#oh no, a file named .txt is forgetten. but it should be committed in this commit
git add .txt
git commit --amend
#hahah, 'amend' is useful. git reset HEAD test.txt 撤销add
git checkout -- test.txt 撤销修改(慎用!会使修改丢失) .
git clone https://github.com/schacon/ticgit
git remote
git remote -v
git remote add pb https://github.com/paulboone/ticgit
git fetch pb
git remote show origin (see much more information)
git remote rename pb paul 重命名 .
Git uses two main types of tags: lightweight and annotated.
A lightweight tag is very much like a branch that doesn’t change – it’s just a pointer to a specific commit.
Annotated tags, however, 【are stored as full objects in the Git database】. They’re checksummed; contain the tagger name, e-mail, and date; have a tagging message; and can be signed and verified with GNU Privacy Guard (GPG). It’s generally recommended that you create annotated tags so you can have all this information; but if you want a temporary tag or for some reason don’t want to keep the other information, lightweight tags are available too. git tag
git tag -l 'v1.8.5*' git tag -a v1. -m 'my version 1.4' 添加Annotated tag
git show v1. git tag v1.4.1-lw 添加Lightweight Tags
git show v1.4.1-lw git tag -a v1. 9ab3ef34 根据某次提交记录打tag git push origin v1. 推送tag(git默认是不会推送tag的)
git push origin --tags 推送所有tag git checkout -b version2 v2.0.0 根据标记创建分支 . 给git命令设置别名
git config --global alias.unstage 'reset HEAD --'
git unstage fileA
等效于:
git reset HEAD fileA git config --global alias.last 'log -1 HEAD'
use: git last
参考:
1. git pro
git命令笔记2的更多相关文章
- git命令笔记
git -bare init git remote add origin ssh://myserver.com/home/git/myapp.git git remote show origin [r ...
- git 命令笔记
切换 git 远程仓库HEAD分支 $ git remote set-head origin some_branch
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
- Git项目协同开发学习笔记1:项目库开发基础git命令
这年头git基本都是项目开发的标配,之前刚好碰到了就花了两天时间系统学习了下.本文内容基本来自以下tutorial:Learn Git(建议直接去看原文,因为这个网站是有更新的).这个是我看过对git ...
- 项目管理---git----快速使用git笔记(六)------本地开发与远程仓库的交互----常用git命令
无论是我们自己把本地的项目新建了一个远程仓库 还是 从远程仓库获取到了 本地,现在我们都在本地有了一份项目代码,服务器上对应有项目代码的信息. 现在我们就开始进行交互操作了. 也就是说明一些在 正常开 ...
- Git学习笔记整理【图像解析、基础命令、分支、远程仓库】
Git别名设置:https://www.cnblogs.com/hero123/p/9105381.html Git远程项目公钥配置:https://www.cnblogs.com/hero123/p ...
- [git] 基础命令笔记
--内容整理自廖雪峰的GIT教程-- git status 查看当前工作区状态,显示未跟踪的文件以及未上传的修改记录 git init 使当前文件夹变成Git可以管理的仓库 git add xxx 将 ...
- Git学习笔记01--常用Git命令、cmd命令及Git总结性知识
资源:外国网友制作的 Git Cheat Sheet 第二次学习廖雪峰老师的Git教程,学习过程中把教程中涉及到的Git命令及总结性知识记录下来方便二次复习. 知识点 所有的版本控制系统,其实只能跟踪 ...
- 我所记录的git命令(非常实用)
一.前言 记录一下工作中常用到的git命令,只是简单的笔记,欢迎大家交流... [ 顺便问下园友们,怎么感觉博客园发布的博客搜索有时都搜不到,后台编辑能填的都填写了,还是觉得搜索排名不高? 相同的标题 ...
随机推荐
- tkinter 的两个例子
第一个例子:after 用于定时操作 import tkinter as tk import time class MyApp(tk.Frame): def __init__(self, msecs= ...
- php-fpm 启动参数及重要配置详解
约定几个目录 /usr/local/php/sbin/php-fpm /usr/local/php/etc/php-fpm.conf /usr/local/php/etc/php.ini 一,php- ...
- Webwork 学习之路【01】Webwork与 Struct 的前世今生
Struts 1是全世界第一个发布的MVC框架,它由Craig McClanahan在2001年发布,该框架一经推出,就得到了世界上Java Web开发者的拥护,经过长达6年时间的锤炼,Struts ...
- Web性能优化-合并js与css,减少请求
Web性能优化已经是老生常谈的话题了, 不过笔者也一直没放在心上,主要的原因还是项目的用户量以及页面中的js,css文件就那几个,感觉没什么优化的.人总要进步的嘛,最近在被angularjs吸引着,也 ...
- Windows下搭建PHP环境:Apache+PHP+MySQL
本文简单记录一下Windows下搭建PHP环境的过程,一些细节可以参照本文参考资料,此文不再赘述 准备工作: Windows下手工搭建PHP环境需要先下载相应的软件,需要注意的是Apache与PHP的 ...
- MVC+EF 理解和实现仓储模式和工作单元模式
MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generi ...
- 通向高可扩展性之路(推特篇) ---- 一个推特用来支撑1亿5千万活跃用户、30万QPS、22MB每秒Firehose、以及5秒内推送信息的架构
原文链接:http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active ...
- 拦截PHP各种异常和错误,发生致命错误时进行报警,万事防患于未然
在日常开发中,大多数人的做法是在开发环境时开启调试模式,在产品环境关闭调试模式.在开发的时候可以查看各种错误.异常,但是在线上就把错误显示的关闭. 上面的情形看似很科学,有人解释为这样很安全,别人看不 ...
- Java学习笔记(二二)——Java HashMap
[前面的话] 早上起来好瞌睡哈,最近要注意一样作息状态. HashMap好好学习一下. [定义] Hashmap:是一个散列表,它存储的内容是键值对(key——value)映射.允许nul ...
- EditPlus怎样自动换行
如果只是使用快捷键Ctrl+Shift+W或者使用文档→自动换行,的话,关闭软件之后再次打开时就会重新出现不能自动换行的问题. 中文版的是:文档→固定值设置(文档 菜单的最后一个),会打开一个“工具→ ...