GIT 的一些常用命令
1、初始化用户(可跳过)
#设置用户名
git config --global user.name (名字)
#设置用户邮箱
git config --global user.email (邮箱)
#设置默认编辑器
git config --global core.editor (name)
#检查配置信息
git config --list
2、初始化 git 仓库
#初始化本地仓库
git init
#克隆远程版本库
git clone http://xxxxx(url地址)
3、git 文件的修改和提交
#暂存所有改动过的文件
git add .
#暂存指定的文件
git add (文件名)
# 提交所有更新了的文件到本地仓库
git commit -m '(注释)'
#提交指定文件到本地仓库
git commit -m (文件名)
#文件重名修改
git mv
#删除文件
git rm (文件名)
#不跟踪文件,但是不用删除
git rm -cached (文件名)
# 补充提交 (补充到上一次提交,且不产生提交记录)
git commit -C HEAD -a -amend
#从远程仓库获取最新文件
git pull
#把本地仓库的文件推送至远程仓库中
git push
4、git 撤销操作
#撤销当前所有未提交到本地仓库的修改内容
git reset -hard HEAD
#撤销指定未提交到本地仓库的修改内容
git checkout HEAD
#撤销指定的提交操作
git revert
#恢复暂存区的指定文件到工作区
git checkout (文件名)
#恢复某个本地仓库的指定文件到工作区
git checkout [commit] [file]
#恢复上一个commit的所有文件到工作区
git checkout .
5、git 查看提交历史
#查看提交历史
git log
#查看指定文件的提交历史
git log -p(文件名)
#以列表的方式,查看指定文件的提交历史
git blame (文件名)
#查看当前分支历史纪录(可视化UI)
gitk
#查看所有分支历史纪录
gitk --all
#查看每个分支最后的提交
git branch -v
#查看当前状态
git status
#查看变更内容
git diff
6、git分支与标签操作
#查询所有本地分支
git branch
# 查询所有远程分支
git branch -r
#切换到指定分支或标签
git checkout
#创建新分支
git branch
#新建一个分支并切换到该分支git
git checkout -b (分支名)
#在现有的本地分支和指定的远程分支之间建立关联
git branch --set-upstream (本地分支名) (远程分支名)
#删除本地分支
git branch -d
#删除远程分支
git push origin --delete (分支名)
git branch -dr remote/(分支名)
#删除标签
git tag -d
#列出所有本地标签
git tag
#基于最新提交创建标签
git tag
7、git 标签的合并与衍合
#合并指定分支到当前分支
git merge (分支名)
#衍合指定分支到当前分支
git rebase (分支名)
8、git 操作远程仓库
#查看远程仓库信息
git remote -v
#查看指定远程版本库信息
git remote show
#添加一个远程仓库
git remote add (仓库名)(url)
#从远程库获取代码
git fetch
#下载代码及快速合并
git pull
#取回远程仓库的变化,并与本地分支合并
git pull remote (分支名)
#上传代码及快速合并
git push
#上传本地指定分支到远程仓库
git push remote (分支名)
#删除远程分支或标签
git push:/
#上传所有标签
git push -tags
9、查看信息
#显示有变更的文件
git status
#显示当前分支的更新历史
git log
#显示commit历史,以及每次commit发生变更的文件
git log --stat
#显示某个文件的版本历史,包括文件改名
git log --follow (文件名)
git whatchanged (文件名)
#显示指定文件是什么人在什么时间修改过
git blame (文件名)
#显示暂存区和工作区的差异文件
git diff
#显示工作区与当前分支最新commit之间的差异
git diff HEAD
#显示当前分支的最近几次提交
git reflog
git 的强制操作
1、强制 pull ,覆盖本地文件
#只做下载的操作,不对远程仓库的内容做合并
git fetch --all
#把 HEAD指向刚刚 pull 下的最新版本
git reset --hard origin/(分支名)
#强行推送当前分支到远程仓库,即使有冲突
git push (remote) -- force