git总结
$ git config --global user.name “John Doe”
$ git config --global user.email johndoe@example.com
使用该命令对自己进行一个标示,用于提交时明确是谁提交的
$ git init
使用该命令对现有项目进行管理
git clone [url]
克隆现有仓库
$ git status
检查现有文件状态
git add
将文件放入本地暂存区
.gitignore
文件中进行忽略更新
文件 .gitignore 的格式规范如下:
所有空行或者以 # 开头的行都会被 Git 忽略。
可以使用标准的 glob 模式匹配。
匹配模式可以以(/)开头防止递归。
匹配模式可以以(/)结尾指定目录。
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。
所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。 星号()匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。 使用两个星号() 表示匹配任意中间目录,比如a/**/z
可以匹配 a/z, a/b/z 或 a/b/c/z
等。
git diff
查看未存的文件更新了哪些部分
git diff --cached
查看暂存的下次提交内容
$ git commit
提交并且git commit -m保存提交信息
$ git rm --cached README
将暂存区的一系列文件删除
$ git mv file_from file_to
改名操作
git log
查看历史
$ git commit --amend
替代上一次提交,用于补充提交和提交信息更改
$ git reset HEAD file
撤销暂存某个文件
git checkout --file
用于撤销修改,修改的信息消失
git remote
列出远程仓库简写
git remote -v
列出url及其简写
git remote add shortname url
添加一个远程仓库
$ git fetch [remote-name]
抓取远程仓库中所未含有的数据
git push [remote-name] [branch-name]
这个命令就可以将你所做的备份到服务器
git remote show [remote-name]
它同样会列出远程仓库的 URL 与跟踪分支的信息。 这些信息非常有用,它告诉你正处于 master 分支,并且如果运行 git pull,就会抓取所有的远程引用,然后将远程 master 分支合并到本地 master 分支。 它也会列出拉取到的所有远程引用。
git remote rename
给分支重命名
git remote rm
移除镜像
git tag
显示标签
$ git tag -l ‘v1.8.5*’
使用固定节点
$ git tag -a v1.4 -m ‘my version 1.4’
创建附注标签
git show 命令可以看到标签信息与对应的提交信息:
$ git tag v1.4-lw
轻量标签
git push origin [tagname]
如果想要一次性推送很多标签,也可以使用带有 --tags 选项的 git push 命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。
要删除掉你本地仓库上的标签,可以使用命令 git tag -d 。例如,可以使用下面的命令删除掉一个轻量级标签:
git push [remote]:refs/tags/[tagname]
你想查看某个标签所指向的文件版本,可以使用 git checkout
虽然说这会使你的仓库处于“分离头指针(detacthed HEAD)”状态——这个状态有些不好的副作用
因此,如果你需要进行更改——比如说你正在修复旧版本的错误——这通常需要创建一个新分支:
$ git checkout -b version2 v2.0.0
Switched to a new branch ‘version2’
$ git config --global alias.co checkout
git创建别名
$ git branch testing
创建分支
$ git checkout testing
切换分支
$ git log --oneline --decorate
查看各个分支指向的对象
$ git checkout -b iss53
Switched to a new branch “iss53”
创建新的分支并转向其
$ git branch -d hotfix
删除分支
$ git checkout master
$ git merge hotfix
合并分支
git mergetool
合并冲突时使用可视化工具
合并之后commit进行提交
$ git branch -v
查看最后一次提交
$ git branch --merged
查看合并了的分支
$ git branch --no-merged
查看未合并工作的分支