1

本文同步自我的博客JoeRay61

前言

本文主要是用来记录一些在git管理的项目中常见的场景及其对应的命令,方便自己和他人使用的时候快速查询。如有不对,敬请指正。

查看某个git命令的帮助文档

git help [command]

查看各个文件的状态

git status

clone一个仓库

git clone [url]

初始化一个仓库

git init

将文件放到暂存区

git add [file-name]

提交

git commit

停止跟踪文件并删除文件

git rm [file-name]

停止跟踪并删除已修改且添加到暂存区的文件

git rm -f [file-name]

停止跟踪但不删除文件

git rm --cached [file-name]

移动文件或修改文件名

git mv [old-name] [new-name]

显示已经放到暂存区的文件的修改

git diff --cached

显示未放到暂存区的文件的修改

git diff [path/to/file]

显示当前仓库的所有本地分支

git branch

显示当前仓库的所有远程分支

git branch -r

显示当前仓库的所有分支(包括本地和远程)

git branch -a

创建一个本地分支

git branch [branch-name]

切换到某个本地分支

git checkout [branch-name]

将某个分支合并到当前分支

git merge [branch-name]

删除已经被合并的分支

git branch -d [branch-name]

删除还未被合并的分支

git branch -D [branch-name]

合并代码后还未提交,此时希望撤销合并

git reset --hard HEAD

查看所有的提交

git log

查看所有提交及每个提交对应的代码diff

git log -p

查看所有提交,以及每个提交涉及的文件,以及这些文件删除/添加了多少行

git log --stat

查看当前工作目录与某个分支的差别

git diff [branch-name]

查看当前工作目录下的某个目录与某个分支的差别

git diff [branch-name] -- [path]

修改最后一次提交

git commit --amend

撤销已暂存的文件

git reset HEAD [file-name]

撤销对文件的修改

git checkout -- [file-name]

查看当前配置的远程仓库

git remote

查看当前配置的远程仓库和对应的地址

git remote -v

添加远程仓库

git remote add [remote-name] [url]

从远程仓库抓去数据

git fetch [remote-name] [branch-name]

推送数据到远程仓库

git push [remote-name] [branch-name]

查看某个远程仓库信息

git remote show [remote-name]

重命名远程仓库

git remote rename [old-name] [new-name]

删除某个远程仓库

git remote rm [remote-name]

显示已有的标签

git tag

搜索特定tag

git tag -l [keyword]

创建轻量级标签

git tag [tag-name]

创建含附注标签

git tag -a [tag-name] -m [msg]

给之前的某个提交加标签

git tag -a [tag-name] [hash]

查看某个标签的信息

git show [tag-name]

将标签推送到远程仓库

git push [remote-name] [tag-name]

将所有本地标签一次推送到远程仓库

git push [remote-name] --tags

将分支b衍合入分支a

git checkout b
git rebase a

切换到另一个分支前,你并不想把当前分支上的修改提交的话,可以使用储藏功能

git stash

显示所有储藏

git stash list

应用你的储藏

git stash apply [stash-name]

JoeRay61
2.3k 声望182 粉丝