工作流程

git的工作就是创建和保存你项目的快照及与之后的快照进行对比。
bg2015120901.png
上图专用名词的译名:

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

基本命令

创建仓库

git init

初始化一个 git 仓库
命令格式:

$ git init [project]   # 新建一个目录,将其初始化为Git代码库

参数说明:

project: 项目名称

git clone

从现有 git 仓库中拷贝项目到本地目录。
命令格式:

$ git clone [url] [directory]

参数说明:

repo: 项目地址
directory: 本地目录(为空则为当前目录)

配置

git config

git的设置使用该命令。
命令格式:

$ git config --list        # 显示当前的 git 配置信息
$ git config -e            # 针对当前仓库
$ git config -e --global   # 针对系统上所有仓库
$ git config [--global] user.name "[name]"    # 设置提交代码时的用户名
$ git config [--global] user.name "[email]"   # 设置提交代码时的用户邮箱

参数说明:

--global: 全局配置
name: 用户名
email: 邮箱地址

分支

git branch

分支的管理。
命令格式:

$ git branch      # 列出所有本地分支
$ git branch -r   # 列出所有远程分支
$ git branch -a   # 列出所有本地分支和远程分支
$ git branch [branch]            # 新建一个分支,但依然停留在当前分支
$ git checkout -b [branch]       # 新建一个分支,并切换到该分支
$ git push [remote] [branch]     # 新建一个远程分支 --- git push origin dev:dev
$ git push --set-upstream [remote] [branch]      # 把本地新分支和远程新分支关联
$ git branch --set-upstream-to=[remote]/[branch] # 把本地分支和远程分支关联
$ git branch --set-upstream-to=origin/dev dev    # 把本地分支和远程分支关联示例
$ git branch -d [branch]         # 删除分支[remote]
$ git push [remote] --delete [branch]   # 删除远程分支
$ git branch -dr [remote/branch]               # 删除远程分支

参数说明:

branch: 分支名
remote: 远程仓库名

git checkout

切换分支。
命令格式:

$ git checkout -          # 切换到上一个分支
$ git checkout [branch]   # 切换到指定分支,并更新工作区

参数说明:

branch: 分支名

git merge

合并分支。
命令格式:

$ git merge [branch]   # 合并指定分支到当前分支

参数说明:

branch: 分支名

提交

git status

查看仓库当前的状态,显示有变更的文件。
命令格式:

$ git status

git add

添加文件到本地仓库。
命令格式:

$ git add [file1] [file2] ...   # 添加指定文件到暂存区
$ git add [dir]                 # 添加指定目录到暂存区
$ git add .                     # 添加当前目录的所有文件到暂存区

参数说明:

file: 文件名称
dir: 目录

git commit

提交暂存区到本地仓库。
命令格式:

$ git commit -am [message]

参数说明:

message: 备注信息

远程同步

git pull

下载远程代码并合并。
命令格式:

$ git pull [remote] [branch]   # 取回远程仓库的变化,并与本地分支合并

参数说明:

remote: 远程仓库名
branch: 本地分支:远程分支

git push

上传远程代码并合并。
命令格式:

$ git push [remote] [branch]   # 上传本地指定分支到远程仓库

参数说明:

remote: 远程仓库名
branch: 远程分支:本地分支