工作流程
git的工作就是创建和保存你项目的快照及与之后的快照进行对比。
上图专用名词的译名:
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: 远程分支:本地分支