Git 常用的是以下 6 个命令:
git clone、git push、git add 、git commit、git checkout、git pull
- workspace:工作区
- staging area:暂存区/缓存区
- local repository:版本库或本地仓库
- remote repository:远程仓库
A Git repository has three parts:
– .git directory (a repository storing all version control data) 本地的CMDB(隐藏文件,可查询历史版本)
– Working directory (local file system) 工作目录:本地文件系统
– Staging area (in memory) 暂存区:隔离工作目录和Git仓库(add后commit前)
workspace→staging→local repository→remote repository
git三板斧
- git init - 初始化仓库。
- git add . - 添加文件到暂存区。
- git commit - 将暂存区内容添加到仓库中。
创建仓库命令
git init | 初始化仓库 |
git clone | 拷贝一份远程仓库,也就是下载一个项目。 |
提交与修改
Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。
命令 | 说明 |
---|---|
git add | 添加文件到暂存区 |
git status | 查看仓库当前的状态,显示有变更的文件。 |
git diff | 比较文件的不同,即暂存区和工作区的差异。 |
git commit | 提交暂存区到本地仓库。 |
git reset | 回退版本。 |
git rm | 将文件从暂存区和工作区中删除。 |
git mv | 移动或重命名工作区文件。 |
提交日志
命令 | 说明 |
---|---|
git log | 查看历史提交记录 |
git blame <file> | 以列表形式查看指定文件的历史修改记录 |
远程操作
命令 | 说明 |
---|---|
git remote | 远程仓库操作 |
git fetch | 从远程获取代码库 |
git pull | 下载远程代码并合并 |
git push | 上传远程代码并合并 |
对git提交过程中三种状态的理解
已修改后可以使用git add .将修改后的文件添加至暂存区,状态变为已暂存,后可用git commit将文件添加至本地仓库,状态为已提交。
git status
git status回答:当前做的哪些更新还没有暂存?有哪些更新已经暂存 起来准备好了下次提交?
▪ 如果要查看具体修改了什么地方,可以用git diff命令,使用文件补丁 的格式显示具体添加和删除的行。
▪ 要查看尚未暂存的文件更新了哪些部分,不加参数直接输入git diff:
– 比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后 还没有暂存起来的变化内容。
▪ 若要查看已暂存起来的文件和上次提交时的快照之间的差异,可以 用 git diff --cached 命令。
远程仓库的一些指令
– git remote:获取当前配置的所有远程仓库;
– git remote add [shortname] [url]:添加一个远程仓库;
– git fetch:从远程仓库抓取数据到本地;
– git pull: 从一个仓库或者本地的分支拉取并且整合代码;
– git push [remote-name] [branch-name]:将本地仓库中的数据推送到远程 仓库;
– git remote show [remote-name]:查看某个远程仓库的详细信息;
– git remote rm:从本地移除远程仓库;
一个例子
注:checkout:切换分支 -b:由于iss53还没有这个分支,则使用-b创建
则checkout -b 【新的分支名】:创建了一个新的分支,并切换到这个分支上。
注:git branch -d 【分支名】 删除这个分支
git merge 【分支名】将当前分支与写下的分支合并