git常用命令整理

初始化代码库

git init 文件名

克隆远程仓库

git clone 远程仓库地址

添加文件到暂存区

git add 文件 (对文件进行跟踪,再用一次就是将跟踪的文件放到暂存区)

添加当前所有文件到暂存区 git add.或者git add –all

删除文件,并将这次删除放入暂存区

git rm

停止追踪指定文件,但文件会保留在工作区

git rm –cached

改名文件,并将这个改名放入暂存区

git mv 老文件名 新文件名

提交暂存区到仓库区

git commit -m [备注]

提交暂存区的指定文件到仓库区

git commit 文件 -m [备注] (加-a直接提交到仓库区)

重新提交一次commit,修改提交的备注

git commit –amend -m [备注]

重新提交一次commit,并指定文件的新变化

git commit –amend 文件

显示有变更的文件

git status 每次commit的时候建议先git status 看一下

显示当前分支的提交历史

git log

显示当前分支的操作记录 (包括回退的操作)

git reflog

根据关键词搜索历史

git log -S 关键词

把暂存区的文件 恢复到工作区

git checkout 文件名

恢复暂存区所有文件到工作区

git checkout .

回退暂存区的指定文件,工作区不变

git reset 文件

回退暂存区与工作区

git reset –hard

回退到指定历史:

git reset 历史

回退到指定历史操作,同时重置暂存区和工作区

git reset –hard 历史

新建一个历史,用来撤销指定的历史并应用到当前分支

git revert 历史

显示暂存区和工作区差异

git diff

显示暂存区和上一次提交的差异

git diff –cached 文件

列出所有本地分支

git branch

列出所有远程分支

git branch -r

列出所有分支

git branch -a

新建分支

git branch 新分支名称

新建分支并且切换到该分支

git checkout -b 新分支名

新建分支,与制定远程分支建立追踪关系

git branch –track 分支名 远程分支名

切换分支

git checkout 分支名

在现有分支和制定远程分支之间建立追踪关系

git branch –set-upstream 分支名 远程分支名

合并指定分支到当前分支

git merge 分支名

删除分支

git branch -d 分支名

删除远程分支

git push origin –delete 远程分支名
git branch -dr 远程库/分支名

下载远程仓库的所有变动

git fetch 远程仓库

显示所有远程仓库

git remote -v

查看某个远程库的信息

git remote show 远程库

增加一个远程库,并命名

git remote add 起的名 远程库的地址

取回远程库的变化,并与本地分支自动合并

git pull 远程库 分支(如果提示无关历史无法合并,
可以使用:–allow-unrelated-histories)

上传本地指定分支到远程库

git push 远程库 分支

强行推送分支到远程仓库

git push 远程库 –force

推送所有分支到远程仓库

git pus 远程库 –all

隐藏未提交的修改,用于后续恢复到当前工作目录:

git stash

将隐藏的修改应用到当前分支对应目录上

git stash pop

列出所有标签

git tag

在当前操作历史上添加标签

git tag 标签名

新建一个标签在指定历史

git tag 标签名 历史

删除本地标签

git tag -d 标签名

删除远程标签

git push origin :refs/tags/标签名

查看标签信息

git show 标签名

提交指定标签

git push 远程库 标签

提交所有标签

git push 远程库 –tags

新建一个分支 指向某个标签

git checkout -b 分支名 标签

最后放上一张网上找到的git常用命令表:

git常用命令