初始化
git init # 初始化本地git仓库
添加文件
git add [file] # 添加文件到仓库 git add . # 添加当前目录所有文件 git add -u # 添加文件到仓库,不包括新建文件 git add --all # 添加文件到仓库,包括新建文件
提交文件
git commit -m [message] # 提交文件
查看状态
git status # 查看当前仓库状态
查看日志
git log # 查看提交日志 git log --oneline # 查看提交日志,简洁显示 git log --oneline --graph # 查看提交日志,简洁显示,带分支提交关系图 git log --oneline --graph --all # 查看提交日志,简洁显示,带分支提交关系图,包括远程仓库
查看文件差异
git diff [file] # 查看文件差异 git diff # 查看当前目录所有文件差异 git diff --cached # 查看缓存区文件差异
撤销修改
git checkout -- [file] # 撤销工作区文件修改 git reset --hard # 撤销缓存区文件修改
推送文件
git push # 推送本地文件到远程仓库 git push -u origin [branch] # 推送本地文件到远程仓库,并关联分支 git push --force # 强制推送本地文件到远程仓库 git push --all # 推送本地所有分支到远程仓库
拉取文件
git pull # 拉取远程仓库文件到本地 git pull origin [branch] # 拉取远程仓库指定分支文件到本地 git pull --all # 拉取远程仓库所有分支文件到本地
查看远程仓库
git remote # 查看远程仓库 git remote -v # 查看远程仓库详细信息 git remote add [name] [url] # 添加远程仓库 git remote rm [name] # 删除远程仓库
分支管理
git branch # 查看本地分支 git branch -r # 查看远程分支 git branch [name] # 创建本地分支 git branch -d [name] # 删除本地分支 git branch --track [name] [remote/branch] # 创建本地跟踪分支 git branch -m [oldname] [newname] # 重命名本地分支 git checkout [name] # 切换分支 git checkout -b [name] # 创建并切换分支 git merge [branch] # 合并分支 git merge --no-ff [branch] # 合并分支,强制创建commit git rebase [branch] # 将指定分支的提交重新放到当前分支 git cherry-pick [commit] # 将指定提交添加到当前分支 git stash # 将当前工作现场“储藏”起来 git stash pop # 恢复最近的一次暂存,并删除stash内容 git stash list # 查看所有stash内容 git stash drop [stash] # 删除指定stash内容 git stash apply [stash] # 恢复指定stash内容,但不删除stash内容
标签管理
git tag # 查看标签 git tag [name] # 创建标签 git tag -a [name] -m [message] # 创建带有说明的标签 git tag -d [name] # 删除标签 git push origin [tagname] # 推送标签到远程仓库 git push origin --tags # 推送所有标签到远程仓库 git push origin :refs/tags/[tagname] # 删除远程仓库标签