git 常用命令
来源:互联网 发布:html5动画源码 编辑:程序博客网 时间:2024/05/22 09:55
git add [file] [path] 文件添加到暂存区
git add -u 所有已追踪文件添加到暂存区
git commit -m "msg" 提交
git commit -amend -m "msg" 提交,覆盖上次提交
git diff 比较暂存区和工作区差异
git diff HEAD 比较版本库和工作区差异
git diff --cached --stage 比较暂存区和版本库差异
git diff <commit1> <commit2> 比较两次提交的差异
git rm [file] [path] 删除文件或者路径
git reset <commit> 使用commit的内容覆盖暂存区,同时将当前分支的HEAD指针移动到commit
git reset --hard <commit> 使用commit的内容覆盖暂存区和工作区,将HEAD指针移到commit
git reset --soft <commit> 只将当前分支的HEAD移动到commit
git branch 列出所有分支,*的表示当前分支
git branch -b <branch> 创建新的分支
git checkout 汇总比较暂存区?和工作的差异
git checkout <commit> 将头指针移动到commit
git checkout -b <branch>创建并切换到branch分支
git checkout -- file 使用暂存区覆盖工作区文件
git checkout HEAD 使用版本库覆盖工作区文件
git log --oneline --graph -n --decorate 显示日志,每个提交占用一行,表示提交关系,只显示前n个,如果有tag显示tag信息
git log B..C <=> git log ^B C 显示(B,C]的提交历史
git log B...C 显示B C提交历史不同的提交
git log ^HEAD^^^ HEAD <=> git log HEAD^^^..HEAD <=> git log HEAD~3..HEAD<=> git log -3 啥意思?
git log --stat 显示变动概要,即++--
git rev-list 显示历次提交信息
git blame file 逐行显示文件,说明每行何时由谁引入
git cat-file -p <sha> 显示<sha>对象 的内容 包括父提交,tree,提交者等
git cat-file -t <sha>显示<sha>对象类型:tree-提交树(文件夹) blob-文件 commit-提交 tag-tag
git ls-files -s 显示暂存区文件,标号0位没有冲突,1为原始文件,2位当前分支文件,3为要并入的分支的文件,有冲突的文件就是当前工作区文件(解决冲突时特别有用)
git show :2:file 显示暂存区标号为2的文件,也就是当前分支相应文件
git show [HEAD] [master] [<commit>] 显示提交对应的信息
git rev-parse --git-dir 显示.git目录所在路径
git rev-parse <commit> 显示commit的完整sha
git stash保存当前进度
git stash list 列出已经保存的紧蹙
git stash pop <stash> 将stash弹出并应用
git stash apply <stash> 仅应用stash,不弹出
git reflog show [HEAD] [master] 显示引用对应的提交历史, 形式为HEAD@{1}
git reset HEAD@{1} 将提交退回到HEAD@{1}位置,可以用于恢复错误的reset操作
git tag -n<num> 显示所有tag, 只显示num行tag 说明
git tag -m "msg" tagname <commit> 为commit添加tag,名称为tagname,message为“msg”
git push origin refs/tags/* 将本地创建的tag push到远程版本库,使用git push 默认不推送tag
git tag -d tagname 删除名称为tagname的tag
git cherry-pick <commit> 拣选分支
gitk 启动git图形界面
git push origin <branch> 将branch提交到远程版本库
git push origin :branch 删除远程版本库分支(首先要删除本地branch分支,原理是使用空的分支覆盖远程分支)
git的信息都保存在.git目录下面,常用文件夹:refs/等等
git将本地文件上传到服务器:
原文:http://neckx.blog.sohu.com/278081116.html
首先,在github上建立远程版本库https://github.com/mygit/testgit.git
git init // 初始化git环境
git config --global user.name 'name' // 配置用户名,以便于远程提交
git config --global user.email xxx@xxx.xxx // 配置用户邮箱,以便于远程提交
git add . // 添加所有文件
git commit -m 'commit' // 提交到本地库
git remote add nickname https://github.com/yourgit/testgit.git // 添加远程版本库
git push nickname master // 将本地master分支提交到远程分支
git remote show nickname // 显示远程信息
.gitignore 文件的配置:
1、配置语法:
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符;
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
2、示例:
(1)规则:fd1/*
说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;
(2)规则:/fd1/*
说明:忽略根目录下的 /fd1/ 目录的全部内容;
(3)规则:
/*
!.gitignore
!/fw/bin/
!/fw/sf/
说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;
.gitignore 文件的配置:
原文:http://www.cnblogs.com/haiq/archive/2012/12/26/2833746.html
1、配置语法:
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符;
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
2、示例:
(1)规则:fd1/*
说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;
(2)规则:/fd1/*
说明:忽略根目录下的 /fd1/ 目录的全部内容;
(3)规则:
/*
!.gitignore
!/fw/bin/
!/fw/sf/
说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;
- git 常用命令
- Git常用命令
- git 常用命令
- git 常用命令
- git 常用命令
- git 常用命令
- GIT常用命令
- git 常用命令
- git 常用命令
- Git 常用命令
- git 常用命令
- Git常用命令
- Git常用命令
- git 常用命令
- Git 常用命令
- git常用命令
- git 常用命令
- Git 常用命令
- 特殊字符转义
- 杂项
- BootStrap导航条表单,搜索,固定,下拉式按钮
- 数论概论 第四章 高次幂之和与费马大定理 习题解答(宋二娃的BLOG)
- Leetcode #90 Subsets II
- git 常用命令
- Swift对象存储API概述
- 第一个Struts2应用
- Spring Boot 让 MyBatis 打印日志的方法
- 网站流量的统计中的IP、PV、UV
- 2015.8.4
- 单点CURL
- javaScript 页面自动加载事件详解
- ggplot2——柱状图