仓库
# 当前目录新建一个Git代码库
git init
# 新建目录
git init project-name
# 下载项目
git clone url
配置
# 查看当前Git配置
git config --list
# 查看当前系统配置
git config --system --list
# 查看当前用户配置
git config --global --list
# 编辑Git配置文件
git config -e --global
# 设置提交代码时的用户信息(必须配置)
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
提交
# 提交暂存区到仓库区
git commit -m "添加内容描述"
# 提交暂存区的指定文件到仓库区
git commit file -m "添加内容描述"
# 提交工作区自上次commit之后的变化,直接到仓库区
git commit -a
# 提交时显示所有diff信息
git commit -v
分支
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 列出所有本地分支和远程分支
git branch -a
# 新建一个分支
git branch "分支名称"
# 删除分支
git branch -d "分支名称"
# 删除远程分支
git push origin --delete "分支名称"
git branch -dr
信息
# 查看状态
git status
# 查看当前分支的版本历史
git log
# 查看commit历史,以及每次commit发生变更的文件
git log --stat
# 查看暂存区和工作区的差异
git diff
# 查看暂存区和上一个commit的差异
git diff --cached file
# 查看工作区与当前分支最新commit之间的差异
git diff HEAD
# 查看当前分支的最近几次提交
git reflog
同步
# 显示所有远程仓库
git remote -v
# 显示某个远程仓库的信息
git remote show [remote]
# 增加一个新的远程仓库,并命名
git remote add origin https://gitee.com/你的码云用户名/XXXX
# 取回远程仓库的变化,并与本地分支合并
git pull [remote] [branch]
# 上传本地指定分支到远程仓库
git push [remote] [branch]
# 强行推送当前分支到远程仓库,即使有冲突
git push [remote] --force
# 推送所有分支到远程仓库
git push [remote] --all
撤销
# 恢复暂存区的指定文件到工作区
git checkout file
# 恢复暂存区的所有文件到工作区
git checkout .
# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset file
# 重置暂存区与工作区,与上一次commit保持一致
git reset --hard
增加/删除
# 添加指定文件到暂存区
git add file ...
# 添加指定目录到暂存区,包括子目录
git add dir
# 添加当前目录的所有文件到暂存区
git add .
# 添加每个变化前,都会要求确认
# 对于同一个文件的多处变化,可以实现分次提交
git add -p
# 删除工作区文件,并且将这次删除放入暂存区
git rm file ...
# 停止追踪指定文件,但该文件会保留在工作区
git rm --cached file
# 改名文件,并且将这个改名放入暂存区
git mv file-original file-renamed
备注
提交:
工作目录 add 到暂存区
暂存区 commit 提交到本地仓库
本地仓库 push 提交到远程仓库
获取:
远程仓库 pull 工作目录
远程仓库 fatch/clone 下载到本地仓库
本地仓库 checkout 工作目录