命令 | 说明 |
---|---|
git config --list | 查看 Git 配置信息 |
git config -e | 编辑当前本地仓库配置(位置:工作区/.git/config) |
git config user.name [用户名] | 配置当前本地仓库用户名 |
git config user.email [邮箱名] | 配置当前本地仓库邮箱 |
git config -e --global | 编辑所有本地仓库配置(位置:~/.gitconfig) |
git config --global user.name [用户名] | 配置所有本地仓库用户 |
git config --global user.email [邮箱名] | 配置所有本地仓库邮箱 |
Git 仓库的创建方式
方式 | 说明 |
---|---|
本地创建仓库 | 1. 在电脑任意位置新建一个空目录作为本地 Git 仓库; 2. 进入该目录中,右键点击 Git Bash Here ,打开 Git 命令窗口并执行 git init 命令; 3. 当前目录中出现 .git 文件夹(此文件为隐藏文件),本地 Git 仓库创建成功 |
拷贝远程仓库 | 1. 在电脑任意位置,右键点击 Git Bash Here,打开 Git 命令窗口; 2. 执行命令 git clone [远程仓库地址] 3. 当前目录中出现 .git 文件夹(此文件为隐藏文件),本地 Git 仓库创建成功 |
Git 工作区、暂存区、版本库相关概念
类型 | 说明 |
---|---|
工作区 | 包含 .git 文件夹的目录就是工作目录,主要用于存放开发的代码 |
暂存区 | .git 文件夹中有很多文件,其中有一个 index 文件就是暂存区,也可以叫做 stage。暂存区是一个临时保存修改文件的地方 |
版本库 | .git 隐藏文件夹就是版本库,版本库中存储了很多配置信息,如日志信息、文件版本信息等 |
Git 工作区中文件的状态
状态 | 说明 |
---|---|
untracked(未跟踪) | 未被纳入版本控制 |
tracked(已跟踪) | 已被纳入版本控制 |
其中 tracked 又分为三种状态
Unmodified:未修改
Modified:已修改
Staged:已暂存
命令 | 说明 |
---|---|
git status | 查看当前仓库中文件的状态(空目录不显示) |
git add | 添加文件到暂存区 |
git reset | 将暂存区中文件移除(回退版本) |
git commit | 将暂存区中文件提交到本地仓库 |
git rm | 删除工作区和暂存区文件(再 git commit 后,提交到本地仓库) |
git mv | 移动或重命名工作区文件或目录 |
git log | 查看历史提交记录 |
touch .gitignore | 创建 .gitignore 配置文件,将不需要跟踪的文件添加到忽略列表,查看文件状态时忽略此文件 |
示例: git status
命令 | 说明:查看当前仓库中文件的状态 |
---|---|
git status | 查看状态详细信息 |
git status -s | 查看状态简洁信息 |
示例: git add
命令 | 说明:添加工作区文件到暂存区 |
---|---|
git add . | 添加当前目录下所有文件 |
git add [*.文件类型] | 添加当前目录下所有指定类型的文件 |
git add [文件.*] | 添加当前目录下所有指定名称的文件 |
git add [文件1] [文件2] [文件N] | 添加指定文件 |
示例: git reset
命令 | 说明:将暂存区文件移除 |
---|---|
git reset | 移除暂存区所有文件和目录 |
git reset head [文件1] [文件2] [文件N] | 移除指定文件 |
示例: git commit
命令 | 说明:将暂存区文件提交到本地仓库 |
---|---|
git commit | 提交所有文件(会进入vim编辑模式) |
git commit -m [备注] | 提交所有文件(不进入vim编辑模式) |
git commit -m [备注] [文件1] [文件2] [文件N] | 提交指定文件 |
git commit -a -m [备注] | 直接提交工作区所有文件(不用先 git add 加入暂存区) |
示例: git rm
命令 | 说明:从工作区和暂存区中删除文件 |
---|---|
git rm -r . | 删除所有文件 |
git rm [文件1] [文件2] [文件N] | 删除指定文件 |
git rm -f [文件] | 删除指定文件之前,若修改过并已加入暂存区,则必须使用 -f 强制删除 |
git rm –r [目录1] [目录2] [目录N] | 删除指定目录,须使用 -r 递归删除 |
git rm -rf [目录] | 删除指定目录之前,若修改过并已加入暂存区,则必须加上 -f 强制删除 |
命令 | 说明:工作区保留,暂存区移除,相当于移除版本控制 |
---|---|
git rm -r --cached . | 删除所有文件 |
git rm --cached [文件1] [文件2] [文件N] | 删除指定文件 |
git rm -r --cached [目录1] [目录2] [目录N] | 删除指定目录 |
示例: git mv
命令 | 说明:重命名工作区文件或移动工作区目录 |
---|---|
git mv [旧文件] [新文件] | 重命名文件 |
git mv -f [旧文件] [新文件] | 若新文件名已存在,还要继续重命名旧文件,则用 -f 强制重命名,并将原已存在文件覆盖 |
git mv [目录] [目标目录] | 移动目录 |
示例: git log
命令 | 说明:查看历史提交记录 |
---|---|
get log | 查看历史提交记录,按 ↓ 键继续显示历史记录,直至显示END表示最后一条记录,按 q 键退出 |
示例: touch .gitignore
命令 | 说明 |
---|---|
touch .gitignore | 创建 .gitignore 配置文件 |
#将不需要跟踪的文件添加到忽略列表,查看文件状态时忽略此文件
#忽略指定的类型文件:忽略txt文件
*.txt
#不忽略指定类型中的某个文件:git.txt
!git.txt
#忽略指定文件:git.md
git.md
#忽略指定目录:a
a/
#忽略指定目录下指定的类型文件:b目录下的class文件
b/*.class
...
命令 | 说明 |
---|---|
git clone [远程仓库地址] | 默认配置下,远程仓库中的每一个文件的每一个版本全部拉取下来(默认别名 origin) |
git remote | 查看远程仓库别名(若克隆远程仓库,默认别名 origin) |
git remote -v | 查看远程仓库 |
git remote show [仓库名] | 查看指定仓库详细信息, |
git remote add [仓库名] [远程仓库地址] | 添加远程仓库,一个本地仓库可添加多个远程仓库 |
git remote rm [仓库名] | 移除无效远程仓库(移除本地仓库与远程仓库的关联,不影响远程仓库) |
git fetch [仓库名] | 从远程仓库中抓取,不自动合并数据(数据以二进制形式存放在 .git/objects 目录下) |
git merge [仓库名]/[分支名] | 将从远程仓库中抓取的数据与本地数据合并 |
git pull [仓库名] [分支名] | 从远程仓库中拉取,自动合并数据 |
git pull [仓库名] [分支名] --allow-unrelated-histories | 从远程仓库中拉取,自动合并数据, 并解决因当前仓库不是从远程仓库克隆,且仓库中存在文件导致的报错 |
git push [仓库名] [分支名] | 将本地仓库推送到远程仓库分支 |
命令 | 说明 |
---|---|
git branch | 列出所有本地分支 |
git branch -r | 列出所有远程分支 |
git branch -a | 列出所有本地分支和远程分支 |
git branch [分支名] | 创建本地分支(以当前分支为基础复制一份) |
git checkout [分支名] | 切换本地分支 |
git merge [分支名] | 合并本地分支(将该分支合并到当前分支) |
git push [仓库名] [分支名] | 将本地分支推送到远程仓库分支 |
git branch -d [分支名] | 删除本地分支 |
git branch -D [分支名] | 删除本地分支(若该分支有修改操作则需 -D) |
git push [仓库名] -d [分支名] | 删除远程分支 |
命令 | 说明 |
---|---|
git tag | 列出所有本地标签 |
git show [标签名] | 查看本地标签 |
git tag [标签名] | 创建本地标签 |
git push [仓库名] [标签名] | 将本地标签推送到远程仓库 |
git checkout -b [分支名] [标签名] | 新建一个分支,指向某个远程仓库标签 |
git tag -d [标签名] | 删除本地标签 |
git push [仓库名] :refs/tags/[标签名] | 删除远程标签 |
命令 | 说明 |
---|---|
ssh-keygen -t rsa | 在 /c/users/用户名/.ssh 目录下生成两个 id_rsa 文件,有pub后缀的为公钥,另一个为私钥, 将公钥内容复制,添加到 Git 平台中,此时可使用 SSH 协议的地址传输数据 |
原文:https://www.cnblogs.com/bybeiya/p/14999978.html