赞
踩
# 用法:git clone [<选项>] [--] <仓库> [<路径>] -v, --verbose #更加详细 -q, --quiet #更加安静 --progress #强制显示进度报告 -n, --no-checkout #不创建一个检出 --bare #创建一个纯仓库 --mirror #创建一个镜像仓库(也是纯仓库) -l, --local #从本地仓库克隆 --no-hardlinks #不使用本地硬链接,始终复制 -s, --shared #设置为共享仓库 --recurse-submodules[=<路径规格>] #在克隆时初始化子模组 --recursive ... --recurse-submodules #别名 -j, --jobs <n> #并发克隆的子模组的数量 --template <模板目录> #模板目录将被使用 --reference <仓库> #参考仓库 --reference-if-able <仓库> #参考仓库 --dissociate #仅在克隆时参考 --reference 指向的本地仓库 -o, --origin <名称> #使用 <名称> 而不是 'origin' 去跟踪上游 -b, --branch <分支> #检出 <分支> 而不是远程 HEAD -u, --upload-pack <路径> #远程 git-upload-pack 路径 --depth <深度> #创建一个指定深度的浅克隆 --shallow-since <时间> #从一个特定时间创建一个浅克隆 --shallow-exclude <版本>#深化浅克隆的历史,除了特定版本 --single-branch #只克隆一个分支、HEAD 或 --branch --no-tags #不要克隆任何标签,并且后续获取操作也不下载它们 --shallow-submodules #子模组将以浅下载模式克隆 --separate-git-dir <git目录>#git目录和工作区分离 -c, --config <key=value>#在新仓库中设置配置信息 --server-option <server-specific>#传输选项 -4, --ipv4 #只使用 IPv4 地址 -6, --ipv6 #只使用 IPv6 地址 --filter <参数> #对象过滤 --remote-submodules #任何克隆的子模组将使用它们的远程跟踪分支 --sparse #初始化稀疏检出文件,只包含根目录文件 # 下载一个项目和它的整个代码历史 $ git clone [url] #clone下来的repo会以url最后一个斜线后面的名称命名,创建一个文件夹,如果想要指定特定的名称,可以git clone [url] newname指定. $ git clone [url] newname
git init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]][<directory>] #将使用模板的目录/ directory from which templates will be used --template <template-directory> #创建一个空仓库/create a bare repository --bare #指定 git 存储库将在多个用户之间共享/specify that the git repository is to be shared amongst several users --shared[=<permissions>] #安静/be quiet -q, --quiet #将 git dir 与工作树分开/separate git dir from working tree --separate-git-dir <gitdir> #覆盖初始分支的名称/override the name of the initial branch -b, --initial-branch <name> #指定要使用的哈希算法/specify the hash algorithm to use --object-format <hash> # git-init - 创建一个空的 Git 存储库或重新初始化一个现有的存储库 $ git init # 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. $ git init [project-name] $ git init repo
#用法:git config [<选项>] #配置文件位置 --global #使用全局配置文件 --system #使用系统级配置文件 --local #使用仓库级配置文件 --worktree #使用工作区级别的配置文件 -f, --file <文件> #使用指定的配置文件 --blob <数据对象 ID> #从给定的数据对象读取配置 #操作 --get #获取值:name [value-regex] --get-all #获得所有的值:key [value-regex] --get-regexp #根据正则表达式获得值:name-regex [value-regex] --get-urlmatch #获得 URL 取值:section[.var] URL --replace-all #替换所有匹配的变量:name value [value_regex] --add #添加一个新的变量:name value --unset #删除一个变量:name [value-regex] --unset-all #删除所有匹配项:name [value-regex] --rename-section #重命名小节:old-name new-name --remove-section #删除一个小节:name -l, --list #列出所有 -e, --edit #打开一个编辑器 --get-color #获得配置的颜色:配置 [默认] --get-colorbool #获得颜色设置:配置 [stdout-is-tty] #类型 -t, --type <> #取值为该类型 --bool #值是 "true" 或 "false" --int #值是十进制数 --bool-or-int #值是 --bool or --int --path #值是一个路径(文件或目录名) --expiry-date #值是一个到期日期 #其它 -z, --null #终止值是 NUL 字节 --name-only #只显示变量名 --includes #查询时参照 include 指令递归查找 --show-origin #显示配置的来源(文件、标准输入、数据对象,或命令行) --show-scope #显示配置的作用域(工作区、本地、全局、系统、命令) --default <取值> #使用 --get 参数,当缺少设置时使用默认值 #Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。 # 显示当前的Git配置 $ git config --list # 编辑Git配置文件 $ git config -e --global # 设置提交代码时的用户信息 $ git config --global user.name "[name]" $ git config --global user.email "[email address]"
#用法:git add [<选项>] [--] <路径规格>... -n, --dry-run #演习 -v, --verbose #冗长输出 -i, --interactive #交互式拣选 -p, --patch #交互式挑选数据块 -e, --edit #编辑当前差异并应用 -f, --force #允许添加忽略的文件 -u, --update #更新已跟踪的文件 --renormalize #对已跟踪文件(暗含 -u)重新归一换行符 -N, --intent-to-add #只记录,该路径稍后再添加 -A, --all #添加所有改变的已跟踪文件和未跟踪文件 --ignore-removal #忽略工作区中移除的路径(和 --no-all 相同) --refresh #不添加,只刷新索引 --ignore-errors #跳过因出错不能添加的文件 --ignore-missing #检查在演习模式下文件(即使不存在)是否被忽略 --chmod (+|-)x #覆盖列表里文件的可执行位 --pathspec-from-file <文件> #从文件读取路径表达式 --pathspec-file-nul #使用 --pathspec-from-file,路径表达式用空字符分隔 # 添加指定文件到暂存区 $ git add [file1] [file2] ... # 添加指定目录到暂存区,包括子目录 $ git add [dir] # 添加当前目录的所有文件到暂存区,会递归地添加当前工作目录中的所有文件. $ git add . # 对于同一个文件的多处变化,可以实现分次提交 $ git add -p
#用法:git rm [<选项>] [--] <文件>... -n, --dry-run #演习 -q, --quiet #不列出删除的文件 --cached #只从索引区删除 -f, --force #忽略文件更新状态检查 -r #允许递归删除 --ignore-unmatch #即使没有匹配,也以零状态退出 --pathspec-from-file <文件> #从文件读取路径表达式 --pathspec-file-nul #使用 --pathspec-from-file,路径表达式用空字符分隔 # 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file1] [file2] ... # 停止追踪指定文件,但该文件会保留在工作区 $ git rm --cached [file] # 改名文件,并且将这个改名放入暂存区
#用法:git mv [<选项>] <源>... <目标>
-v, --verbose #冗长输出
-n, --dry-run #演习
-f, --force #强制移动/重命令,即使目标存在
-k #跳过移动/重命名错误
$ git mv [file -original] [file -renamed ="token punctuation"]
#用法:git clean [-d] [-f] [-i] [-n] [-q] [-e <模式>] [-x | -X] [--] <路径>...
-q, --quiet #不打印删除文件的名称
-n, --dry-run #演习
-f, --force #强制
-i, --interactive #交互式清除
-d #删除整个目录
-e, --exclude <模式> #添加 <模式> 到忽略规则
-x #也删除忽略的文件
-X #只删除忽略的文件
#从工作目录中移除没有追踪的文件.
$ git clean -df
-d表示同时移除目录,-f表示force,因为在git的配置文件中,clean.requireForce=true,如果不加-f,clean将会拒绝执行.
#用法:git commit [<选项>] [--] <路径规格>...
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。