mbp到了嗷,画质看哭我了。早就想写blog了可惜hexo这边同步出了点问题,今早花时间搞定了,来写mac上的第一篇blog:)。ps说到底还是用vscode,真不知道mac有啥用2333

因为之前虽然对git使用过但一直没有系统整理,这几天看了git pro后就整理下。

git概念和存储状态

首先是git的存储,其是按照各个文件的版本来存储.存储的文件都会放在.git文件夹里。可以使用

git init

来完成对一个git的初始化。

git文件中分为三个区域:

  • 工作区域(working space):存放当前工作的内容
  • 暂存区(stage): 存放git add后的临时储存区域
  • repo(.git):存放git commit后的所有版本

使用

git status

可以查看所有文件的所在区域。

.gitignore 中存放着被git忽略的文件。

文件操作

文件修改操作分为untrack和unmodifed两种。

可使用

git diff

来比较工作区和暂存区的文件差异,一般来说在你add前需要对比下差异。

可使用

git commit -a 【-m "message"】

来同时完成add和commit。

最后可使用

git log

来查看各个commit版本。

对某个版本的前序列号使用git reset可以回溯版本,同时可使用

git tag v0.x

来对序列号进行标注。

对特定文件a.txt回溯到上个版本可使用:

git checkout – a.txt

远程版本

作为git分布式的基础,就是要构建远程仓库(比如github)。作为第一次使用git的用户记得设置下自己的用户信息:

git config --global user.name XXX
git config --global user.email XXX@xxx

之后使用

git remote add <shortname> <url>

来添加远程仓库。

可使用

git config --list

查看下你当前的git配置信息。

爬取

在锁定了远程仓库后,初次可使用:

git pull

来爬取所有远程库的数据。

之后可使用

git fetch

来获取最新版本。

当然也可以使用:

git clone <repo>

其可相当于:

mkdir repo
git init   //创建.git目录
git remote add <git@repo> //锁定remote
git pull //拉取

上传

远程仓库的默认姓名为origin,一般直接传给远程master分支,则:

git push -u origin master

会把你的repo仓库同步到远程仓库。

可使用

git show origin 

查看具体远程仓库内容。

使用

git remote -v

可以达到同样效果。

分支

版本的最强功力就是使用分支,

git branch XXX

可以创建当前文件的克隆作为分支。

使用

git checkout XXX 

来进行回溯。

使用

git branch -v

查看所有的分支。

使用

git branch -d XXX

来删除分支。

合并

当要合并的两个版本是线性关系时,即可使用快速合并来合并(fast ward):

(master*)git merge XXX

即可使XXX和master合并。

当两者存在冲突文件时(都对同一文件做了不同修改),则需要使用

(master*)git status

它会提示你所有未merge的分支并提示你冲突文件,此时需要手动解决。

HEAD指针

head指向当前版本的分支,即*。

Comments

2019-08-09

⬆︎TOP