git的入门命令
git --help #调出Git的帮助文档
git 命令 --help #查看某个具体命令的帮助文档
git --version #查看git的版本
git init #生成空的本地仓库
git add #将文件添加到暂存区
git commit -m "注释" #将暂存区里的文件提交到本地仓库
注:初次commit之前,需要配置用户邮箱及用户名
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git remote #管理远程仓库
git push -u origin master #往名字为origin的仓库的master分支上提交变更
git fetch #拉取远程仓库的变更到本地仓库
git merge origin/master #将远程的变更,合并到本地仓库的master分支
git pull #等同于fetch之后merge
git的文件状态
git status #查看git的状态
git rm #git文件的删除操作,如果是git rm --cached仅删除暂存区的文件,如果不加--cached则删除工作区的文件并提交变更到暂存区
git checkout 文件名 #从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会选择覆盖
git checkout 分支名 文件名 #表示从版本库中拉取该分支的文件,并覆盖工作区的文件
常见的状态变更:
新建文件--->Untracked
使用add命令将新建的文件加入到暂存区--->Staged
使用commit命令将暂存区的文件提交到本地仓库--->Unmodified
如果对Unmodified状态的文件进行修改---> modified
如果对Unmodified状态的文件进行remove操作--->Untracked
git的分支
git branch 分支名 #创建新分支
git branch #不加任何参数,列出所有分支,分支前有*号,代表当前所处分支
git branch -d 分支名 #删除分支,但不能删除当前所在分支
git branch -m 旧分支名 新分支名 #更改分支名
git checkout 分支名 #切换分支
git checkout -f 分支名 #强制切换分支
git的提交历史
git log -数字 #表示查看最近几次的提交
git log -p -2 #显示最近两次提交的不同点
git log --author #查看具体某个作者的提交
git log --online #输出简要信息
git log --graph #以一个简单的线串联起整个历史
git的文件对比
git diff #不加任何参数,用于比较当前工作区和暂存区的差异
git diff --cached或者--staged #比较暂存区和版本库的差异
git diff HEAD #比较工作区和版本库的差异
git diff 分支名 #比较当前分支和指定分支的差异
git diff 分支1 分支2 #查看两个指定分支的差异
git diff 文件名 #查看指定文件的差异
git diff commitid1 commitid2 #用于列出两个历史提交的差异
git diff --stat #列出有变更的文件
git更改状态
git reset --soft HEAD^ #移除上一次提交,工作区跟暂存区的内容不会改变
git reset --mixed HEAD^ #默认选项,移除上一次提交,暂存区的内容随之改变,工作区内容不变
git reset --hard HEAD^ #默认选项,移除上一次提交,工作区跟暂存区的内容都会改变
git的分支合并
git merge 分支名 #用指定分支与当前分支进行合并
git diff --name-only --diff-filter=U #用于查看产生冲突的文件
git的标签
git tag #不加任何参数,显示所有标签(以字母排序)
git tag 标签名 #默认给最近的一次提交打标签
git tag 标签 commitid #给相应的提交打上标签
git show 标签名 #显示与该标签相关的提交信息
git tag -d 标签名 #删除该标签
git push 远程分支名 标签名 #将本地存在的某标签推送到远程服务器上
#删除远程标签的步骤:
1.删除本地标签
2.删除远程标签 git push 远程分支名 :refs/tags/标签名