注意 本人的博客都迁移到本人自己搭建的博客地址,通过此处可查看。
一、GIT基础
1、新建项目
①、项目所在目录下进行初始化:git init ;
②、新建或者修改后的文件要加入版本控制:git add *.cs -> git add README -> git commit -m 'initial project version';
2、克隆项目
git clone [url] "newName" : newName:自定义新建的项目目录名称。
3、记录的更新
http://git.oschina.net/progit/figures/18333fig0201-tn.png
来自:http://git.oschina.net
3.1 检查文件的状态:git status
3.2 忽略某些文件: .gitignore
其规范:①、所有空行或者以注释符号#开头的都会被Git忽略;
②、可以使用标准的globe模式匹配(简化了的正则表达式)
③、匹配模式最后跟“/”说明要忽略的是目录
④、要忽略模式以外的文件或目录可以进行取反“!”
3.3 查看已暂存和未暂存的更新
git diff 或者git diff --cached
3.4 提交更新
再执行之前先查看状态是否被暂存,然后再提交:git commit
注:可以设置自己的喜欢的编辑软件:git config --global core.editor
3.5 跳过使用暂存区域
git commit -a -m 'added new fileName':不需要git add 可以直接提交
3.6 移除文件
git rm fileName;若文件已放到暂存区域可已使用:git -f rm:强制删除(force)
3.7 移动文件
git mv file_from file_to
3.8 查看提交历史
git log [-p] [-2]:-
说明:p 展开显示每次提交的内容差异;
-2 显示最近的两次更新
--stat 表示简要的增改行数统计
--pretty 可以指定完全不同于默认格式的方式展示提交历史, 比如oneline,short、full、fuller
git log --pretty=format:"%h - %an, %ar, %s"
注:常用格式占位符写法及其意义:
oneline或者format结合 --graph时,可以显示简单的ASCII字符串表示的简单图形:
注:其他git log命令支持的选项
3.9 限制输出长度
git log --since=2.weeks
git log --until=*****
git log --author | --grep | --all-match(两个条件同时满足)
git log --path:显示提交的位置
ps:
注:gitk==图形化工具查阅提交历史
4、撤销操作
4.1 修改最后一次提交 git commit --amend
4.2 取消已经暂存的文件 git reset HEAD <file>
4.3 取消对文件的修改 git checkout -- <file>:放弃对文件的修改
5、远程仓库的使用
5.1、查看仓库
git remote:列出每个远程库的简短名字
git remote -v:显示对应的克隆地址(--verbose)
5.2、添加仓库
git remote add [shortname] [url]
5.3、从远程仓库中抓取数据
git fetch [remote-name]
5.4、推送数据到远程仓库
git push [remote-name] [branch-name]
5.5、查看远程仓库信息
git remote show [remote-name]
5.6、远程仓库的删除和重命名
重命名:git remote rename oldName newName
删除:git remote rm <filename>
6、打标签
6.1、显示已有的标签
git tag; git tag -l 'v1.4.*';
6.2、新建标签
①、新建含附注的标签:git tag -a v1.4 -m 'my version 1.4';
②、签署标签:git tag -s v1.5 -m 'my version 1.5'
③、轻量级标签:git tag v1.6-lw
6.3、验证标签
git tag -v [tag-name] (v:verify):需要验证的标签需要有签署的公钥,存在keyring中才能验证
6.4、后期加注标签
git tag -a v1.2 [校验码]
6.5、分享标签
git push origin [tagname]
git push origin --tags : 一次推送所有本地新增的标签
7、技巧和窍门
7.1、自动补全
windows:连敲两次Tab键
7.2、Git命令别名
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.unstage 'reset HEAD --'
外部的命令前加“!”:git config --global alias.visual '!gitk'