标签:
git学习
	  概念
		    git跟踪的修改而非文件
		    工作区:可见的目录文件夹
		    版本库:
			    工作区的一个隐藏目录:.git 
			    stage 暂存区 git add就是添加到暂存区
				    新建的文件状态为untracked 是因为没有 add到暂存区,
				    commit 会将暂存区的修改提交,但工作区的不会提交,哪怕你也修改了
			    master 主分支 git commit 就是提交到当前分支
			    head 指向master的指针,head 表示当前版本,head^上一版,head^100 上一百版
		    origin 远程库的默认名称
	  命令:
		    git init 	初始化
		    git status 	显示状态,那些修改过了
		    git diff 	修改了什么,后面可以跟文件名
			    git diff -- readme.txt 对比当前版本和暂存区的
			    git diff head^ -- readme.txt 对比上一版和当前的 readme.txt 前也可以加版本号
		    git add 文件名	 添加到暂存区
		    git add -f aa.class   强制添加
		    git commit -m ‘‘	提交
		    git log 	显示提交历史(有版本号)
		    git log --pretty=oneline --abbrev-commit  显示历史 commit id和命令
		    git reflog 		历史命令版本
		    git reset --hard head^  回退到上一版,head^100表示往上100版,没有push哦
		    git reset --hard 版本号 	回退到具体版本,版本号可以不写全,没有push哦
		    git checkout -- readme.txt 	丢弃工作区的修改,还没有add的内容
		    git reset head readme.txt 	撤销暂存区的内容,还没commit的,然后再checkout
		    git rm readme2.txt 	删除文件
		    git remote add origin https://github.com/heroy/learngit.git  本地库添加到远程库
		    git push -u origin master   首次将本地master推到远程origin库,-u是关联分支
		    git push origin master  后续推送用此命令
		    git clone git@github.com/heroy/gitstills.git  克隆仓库到本地
	  远程
		    ssh-keygen -t rsa -C "youremail@example.com"	创建SSH-key,密码可以为空
			    在.ssh目录,id_rsa 为私钥,id_rsa.pub为公钥
	  分支
		    git branch dev  创建dev分支
		    git checkout dev   切换到dev分支
		    git checkout -b dev 创建并切换到dev分支
		    git branch  查看分支
		    git branch -d dev  删除分支 dev
		    git branch -D dev  强行删除(如果分支没有merge,要用此)
		    git merge dev 合并dev到master,(当前命令环境在master)
		    git merge --no-ff -m ‘新commit模式‘ dev   合并dev,这种合并模式可以查看合并历史
		    git stash   储藏挡墙状态
		    git stash list   储存历史
		    git stash apply  回复储存历史,但不删除,多个历史时可以 后缀历史编号:stash@{0}
		    git stash drop   删除历史
		    git stash pop  回复并删除
		    git remote   显示远程分支  加 -v 显示详情
	  标签
		    git tag v1.0   在当前分支上打标签,标签是打在commit id上的,后面加commit id号 可以达到对应的
		    git tag   查看标签
		    git tag -a v1.1 -m ‘version 1.1 带说明的‘ 12a3v3  带说明的标签
		    git tag -s v1.2 -m ‘version 1.2 带有私钥的‘ fec32a   私钥签名的标签
		    git tag -d v1.1  删除标签
		    git push origin v1.2  推送标签到远程库
		    git push origin --tags  推送所有标签
		    git push origin :refs/tags/v1.2  删除服务器标签(必须要先在本地删除)
		    git show v1.0 查看标签详情
	  其他
		    vim readme.md  vim模式编辑文本
		    进入vim后,按esc退出输出状态,Shift+; 然后 q!(wq!是保存文件) 然后 回车
		    git config 查看配置命令
		    git cofnig -l 查看配置信息
		    git check-ignore -v App.class  查看是否忽略
		    工作区目录下 加一个 .gitignore文件 里面可以编写忽略的文件
		    被忽略的文件 不可以add, 但可以 -f 强制添加
		    git config --global alias.lg "log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset‘ --abbrev-commit"
			    将后续命令简化为 lg
标签:
原文地址:http://www.cnblogs.com/heroy/p/5486920.html