Git基础
结构
Workspace:工作区,本地文件系统
Stage:暂存区 ,隔离工作区和本地仓库
Repository:本地仓库
Remote:远程仓库
三个状态
- 已修改
- 已暂存
- 已提交
图结构
- Git的所有操作都是在一个图结构上进行的
- 从另一台机器复制git目录意味着复制图结构
- 每个commit指向一个父亲(多个commit指向同一个父亲代表分支,一个commit指向两个父亲代表合并)
- Head指向当前分支当前commit
版本变化
传统VCS窜出版本之间的变化
Git存储发生变化的文件,改变的是当前指针的指向。这样更方便回溯
常用Git指令集
1.首先我们在当前目录初始化我们的本地仓库
$ git init
2.如果需要从远程仓库下载代码
$ git clone [url]
3.为本地仓库/暂存区增加或删除文件
将当前目录下所有文件添加到暂存区(即代表我要跟踪此文件,更改后要重新add)
$ git add.
将指定文件添加到暂存区
$ git add [filename]
同时删除暂存区和本地文件
$ git rm [filename]
从暂存区删除但不删本地文件
$ git rm --cached [filename]
4.提交到本地仓库
从暂存区提交到本地仓库
$ git commit -m [message]
从工作区跨过暂存区直接提交到本地仓库
$ git commit -a [message]
5.查看状态
结果会告诉你那些更新还没暂存,哪些更新已经暂存准备下次提交
$ git status
查看当前工作区文件和暂存区有什么区别
$ git diff
已暂存文件和上次提交时有何不同
$ git diff --cached
6.分支操作
新建一个分支,并切换到此分支
$ git checkout -b [branch]
新建一个分支,但仍停留在当前分支
$ git branch [branchname]
切换到指定分支,并更新工作区
$ git checkout [branchname]
合并分支到当前分支
$ git merge [branch]
7.连接远程仓库
$ git remote add origin(这只是常用名字)<url>
8.将本地仓库内容提交到远程仓库
$ git push [remote](远程仓库名字)[branch]
9.取得远程仓库的变化
取得远程仓库的变化并与本地分支合并
$ git pull [remote](远程仓库名字)[branch]
取得远程仓库的变化,不与本地合并
$ git fetch [remote](远程仓库名字)[branch]
这些就是git的基本指令,希望大家实验愉快!