“Git”—初见时惊鸿
原理解析
工作流程
git 分为三个区,工作流程如下:
文件状态
git 文件有四种状态:
- 未跟踪:创建但未被 git 管理的文件
- 未修改:被管理但未修改的文件
- 已修改:修改后未添加到暂存区的文件
- 已暂存:添加到暂存区的文件
安装和初始化配置
安装
git 官方地址:按需下载对应自己电脑操作系统的版本。
初始化
查看 git 版本:
git -v
首次安装 git 使用以下命令配置全局仓库用户名和邮箱信息:
git config --global user.name "Jasper Yang" #设置用户名
git config --global user.email geekhall.cn@gmail.com #设置密码
git config --global credential.helper store #保存上述信息
查看/清除全局配置信息:
git config --global --list #查看
git config --global --unset <entry-name> #清除全局配置
查看隐藏的. git 文件:
清除隐藏的. git 文件则 git 仓库将被清除:
基础操作
创建 git 仓库
本地初始化
在本地需要创建 git 仓库的文件夹下打开 git bash 执行以下命令:
git init (init_repo_dir_name)#后面可选在当前目录新建目录作为git仓库
远程克隆
git clone https://github.com/Alleyf/linux-tutorial.git
查看仓库状态
git status
git ls-files #查看暂存区的文件
查看状态:
查看暂存区内容:
连接云端仓库
添加一个 git URL 作为别名
git remote add [alias] [url]
显示您设置的远程存储库的名称
git remote
显示远程存储库的名称和 URL
git remote -v
删除远程存储库
git remote rm [remote repo name]
更改 git repo 的 URL
git remote set-url origin [git_url]
同步仓库文件
拉取仓库
git pull
提交文件
git add fileName/. #"."代表添加当前文件夹下的全部文件到存储区
git commit -m "提交时的备注信息"
git commit 只会提交存储区中的文件到仓库,未跟踪即未添加到存储区的文件不会被提交到仓库,如下 file 2.md 是新增未跟踪的文件不会被同 file1.md 提交到仓库:
git push "远程库名"
查看记录
查看提交记录:
git log #查看详细记录信息
git log --oneline #查看概要信息
查看历史记录:
git reflog
查看差异
- 查看工作区和暂存区的差别:
git diff
- 查看 工作区和仓库区的差别:
git diff head
- 查看 暂存区和仓库区的差别:
git diff --cached
回退/溯版本
git reset 有三种模式:
git reset --soft 版本号 #回退版本后的内容保留工作区和暂存区
git reset --hard 版本号 #都不保留
git reset --mixed 版本号 #仅保留工作区内容
不同模式,工作区和暂存区的内容会不同。
分支
查询/切换/新建分支
- 查询分支,使用以下指令:
git branch #查询本地分支
git branch -r #查询远程分支
- 切换或新建分支,使用以下指令:
git chechout "branchName" #切换分支
git checkout -b "branchName" #新建分支并切换到该分支
分支合并
删除分支
- 删除本地分支,删除前会进行检查是否本分支内容已经合并到主分支,使用以下指令:
git branch -d "branchName"
强制删除分支使用 -D
参数。
- 删除远程分支,使用以下指令:
git push "远程库名" -d "branch name"
强制删除分支使用 -D
参数。
参考文献
本文由mdnice多平台发布