git 安装包下载:
链接:https://pan.baidu.com/s/18B8W… 提取码:ykvf
一、git 基础模型
- Workspace:工作区,就是你看到的目录文件
- Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
- Repository:本地仓库,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中 HEAD 指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器
二、文件 4 种状态
-
Unmodify: 未修改, 即与版本库中的文件快照内容与文件夹中完全一致. 如果它被修改, 而变为
Modified
. 如果使用git rm
移出版本库, 则成为Untracked
文件 -
Untracked: 未跟踪状态, 一般为新建的文件,不在版本控制内. 可通过
git add
状态变为Staged
. -
Modified: 已修改状态, 通过
git add
可进入暂存staged
状态, 使用git checkout
则丢弃修改过, 返回到unmodify
状态 -
Staged: 暂存状态. 执行
git commit
则同步到本地仓库, 这时库中的文件和本地文件又变为一致, 文件为Unmodify
状态
三、git 仓库拷贝
1. 在当前目录新建一个 Git 代码库
> git init
2. 克隆远程仓库
> git clone [-b branch] [--depth 1] 远程仓库地址
-b branch:指定需要克隆的分支
–depth 1:depth 用于指定克隆深度,为 1 即表示只克隆最近一次 commit.
3. 相关设置
> git config --list #查看 git 相关配置
> #设置提交的用户名和邮箱信息 --global:全局配置
> git config [--global] user.name 'github 用户名'
> git config [--global] user.email '邮箱'
> #设置保存账号密码,这样只是第一次提交需要输入账号密码
> git config --local credential.helper store
四、git 常见操作
1. 本地文件上传至远程仓库
> git add file #从工作区添加到暂存区
> git commit -m '此次提交的说明' #从暂存区提交到本地仓库
> git push #推送到远程仓库
2. 从远程仓库拉取到本地工作空间
> git fetch #从远程获取最新版本直接合并
> git merge #合并远端分支和本地分支,此时工作区更新
或者
> git pull #从远程获取最新版本直接与本地分支合并,等价于 git fetch && git merge
3. 其他常见命令
> #查看状态
> git status
> #查看提交日志
> git log [-p]
> #查看修改内容
> git diff
> #git 撤销修改
> git checkout -- file #暂存区文件覆盖工作区
> git checkout master -- file #本地仓库文件覆盖暂存区与工作区, 适用仅 git add 的文件
> git checkout origin/master -- file #远端分支文件覆盖暂存区与工作区, 适用 git commit 的文件, 但本地仓库已经修改,可执行 git push 提交到远程仓库,此时本地目录与远程仓库文件不同,且无法通过 git pull 更新,可执行 git checkout master -- file
> ## 修订提交
> git commit --amend -m '注释' #可实现仅修改刚刚提交的备注
> ## 版本回退(慎用)> git reset --hard HEAD^ #回退到上一个版本,等同 HEAD~1
> git reset \--hard 版本号 #回退到对应的版本
记录常见操作仅供参考!