1.创建仓库
git init 使用当前目录作为Git的仓库
git init <目录> 指定本地的某个目录作为Git仓库
2.克隆仓库
git clone <仓库路径> 克隆仓库
git clone <仓库路径> <目录> 克隆仓库到指定的目录
3.添加文件到暂存区
git add . 添加当前目录下所有文件到暂存区
git add <目录> 添加指定目录到暂存区(包括该目录下的子目录)
git add <文件1> <文件2> 添加一个或多个文件到暂存区
4.提交文件
git commit -m <message> 提交暂存区的文件(message:可以是一些备注信息)
git commit <文件1> <文件2> <message> 提交暂存区指定的文件
5.删除,移动
git rm <文件> 将指定文件从暂存区删除
git rm -f <文件> 强行删除(删除之前已经修改过的并且已经放到暂存区的)
git rm --cached <文件> 将文件从暂存区删除,保留在工作目录中
git mv <文件名> <另一个文件名> 移动或重命名一个文件
git mv -f <文件名> <另一个文件名> 强制命名(文件已存在时)
6.分支
git branch 列出所有分支
git branch <分支名> 创建分支
git branch -d <分支名> 删除一个分支
git checkout <分支名> 切换分支
7.拉取,推送
git pull <远程仓库地址> <远程分支>:<本地分支> 从远程获取代码并合并本地的版本
git push <远程仓库地址> <本地分支>:<远程分支> 将本地的分支版本推送到远程并合并
8.合并
git merge <远程仓库>/<本地分支> 从远程仓库提取数据并尝试合并到当前分支
9.日志记录
git log 查看历史
--oneline 简洁的查看
--graph 查看什么时候出现了分支,合并
--reverse 逆向的查看所有日志
--author 查看指定人员的日志
--since 和 --before 查看指定的日期
--until 和 --after 查看指定的日期
例:git log --oneline --before={3.weeks.ago} --after={2010-04-18}
三周前且在四月十八日之后的所有提交
10.回退
git reset [--soft | --mixed | --hard] [HEAD] 回退版本
--soft 用于回退到某个版本
--mixed 默认,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变
--hard 撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。
git reset HEAD 命令用于取消已缓存的内容。
HEAD 说明:
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
以此类推...
可以使用 ~数字表示
HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD^2 上上一个版本
HEAD^3 上上上一个版本
以此类推...
11.查看
git blame <文件> 查看指定文件修改记录
git status 查看仓库当前状态,显示发生改变的文件
git status -s 相对于上面的(获取更简短的输出)
状态AM:表示这个文件在我们添加到缓存后又有所改变
12.比较差异
git diff <文件> 显示暂存区和工作区的差异
git diff --cached <文件> 显示暂存区和上一次提交的差异
git diff --staged <文件> 同上
git diff [first-branch]...[second-branch] 显示两次提交的差异
13.远程仓库
git remote -v 显示所有远程仓库
git remote show <仓库> 显示某个仓库信息
git remote add 别名 <地址> 添加远程仓库
git remote rm name 删除远程仓库
git remote rename <old_name> <new_name> 修改远程仓库名
git fetch <仓库> 远程获取代码库
14.其它配置
git config --list 查看当前的git配置信息
git config -e 编辑配置文件(针对当前仓库)
git config -e --global 编辑配置文件(针对系统上的所有仓库)
git config -e --global user.name 名字 设置提交代码时的用户名
git config -e --global user.email 邮箱 设置提交代码时的邮箱