本文主要是用来记录一些在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]