归档 |
命令 |
用途 |
Git入门命令 |
git --help |
调用git帮助文档 |
git +命令 --help |
查看某个命令的帮助文档 | |
git --version |
查看git版本 | |
git init |
生成空的本地仓库 | |
git add |
将文件添加到暂存区 | |
git commit |
将暂存区的文件提交到本地仓库 | |
git remote |
用于管理远程仓库 | |
git push -u origin master |
往名字为orign的仓库的master分支提交变更 | |
git fetch |
拉取远程仓库的变更到本地仓库 | |
git merge origin/master |
将远程的变更,合并到本地仓库的master分支 | |
git pull |
不建议使用 等同于fetch之后merge | |
Git的文件状态 (untracked Staged Unmodified modified) |
git status |
用于查看git的状态 |
git rm |
用于git文件的删除操作。如果只是 git rm --cache 仅删除暂存区里的文件;如果不加--cache 会删除工作区里的文件并提交到暂存区 | |
git checkout 文件名 |
从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会选择【分支名】 +文件名,表示从分支名为所写的分支名中拉取文件并覆盖工作区里的文件
| |
git的分支 (目的是为了避免版本兼容开发问题,封装一个开发阶段解决bug) |
git branch |
列出所有的分支,分支前面有*号,代表该分支为当前所在分支 |
git branch -d 分支名 |
删除分支,不能删除当前分支 | |
git branch 分之名 |
创建分支 | |
git branch -m 旧分支名 新分支名 |
修改分支名 | |
git checkout 分支名 |
切换分支 | |
git checkout -f 分支名 |
强制切换到分支 | |
git的日志信息 (用于查看git的提交历史) |
git log |
显示日志信息 |
git log -数字 |
表示查看最近几次的提交 | |
git log -p -2 |
显示最近两次提交的不同点 | |
git log --author |
查看具体某个作者的提交 | |
git log --online |
输出简要的信息 | |
git log --graph |
以一个简单的线串联起整个提交历史 | |
文件对比 |
git diff |
用于比较当前工作区跟暂存区的差异 |
git diff 分支名 |
查看当前分支跟指定的分支的差异 | |
git diff 分支名1 分支名2 |
查看两个指定分支(已提交的)的差异,分支2 跟分支1的差别 | |
git diff 文件名 |
查看指定文件的差异 | |
git diff commitid1 commitid2 |
用于列出两个历史提交的差异 | |
git diff --stat |
用于罗列有变更的文件 | |
git更改状态 (应用场景: 1、将不必要的文件add 2、上次提交觉得是错的 3、不想改变暂存区内容,只是想调整提交的信息 4、版本回滚) |
git reset HEAD 文件名 |
移除不必要的添加到暂存区的文件 |
git reset HEAD^ 或者 commitid |
去掉上一次的提交 | |
git reset --soft HEAD^ |
修改上次提交的信息 | |
git reset --soft |
只是将HEAD引用指向指定的提交,工作区跟暂存区的内容不会改变 | |
git reset --mixed |
默认选项)将HEAD指向指定的提交,暂存区的内容随之改变,工作区内容不变 | |
git reset --hard |
将HEAD指向指定的提交,暂存区跟工作区都会改变 | |
Git的标签 |
git tag |
表示显示标签(按字母序) 非按时间 |
git tag 标签名 |
默认是给最近一次提交打上标签 | |
git tag 标签名 commitId |
给响应的提交打上标签 | |
git show 标签名 |
显示该标签相关的那次提价的相关信息 | |
git tag -d 标签名 |
删除该标签 | |
git push 远程分支名 标签名 |
把某个标签(必须是本地已存在的,否则推动失败) 推送到远程分支 | |
删除远程标签的步骤 删除本地标签 git tag -d 标签名 在删除远程的 git push origin :refs/tags/标签名 | ||
Gitignore (目的:忽略部分不必须的文件上传到远程仓库,避免体积过大,同步慢) |
一般情况下,.gitignore文件,在项目一开始创建的时候就创建,并推送到远程服务器上。举例: .log 表示忽略项目中所有以.log结尾的文件 123?.log 表示忽略项目中所有以123加任意字符的文件 src/main/test/ 表示忽略/src/main/test/目录下的所有文件 注意: 对于已经提交到远程或本地仓库的文件,.gitignore配置之后不会生效。我们必须先删除本地暂存区里的文件,之后在加上.gitignore 文件,最后再把变更提交到远程仓库上。 git rm --cached 文件名 从暂存区删除某个文件 git rm -rf --cached 文件夹 表示递归删除暂存区该文件夹的所有东西 |