赞
踩
CVS和SVN属于集中式版本控制系统
Git是属于分布式版本控制系统
客户端并不只提取最新版本的文件快照,而是把 代码仓库完整的镜像下来,包括完整的历史记录
这么一来,任何一处协同工作用的 服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复
因为每一次克隆操作,实际上都是一次对代码仓库的完整备份
与中央服务器不同的是,项目的历史版本,都会被克隆到协作开发的本地电脑,即每台电脑上都有备份
git init
创建一个新的仓库
git add .
用于告诉git 管理当前目录下的所有文件git commit -m "描述"
将本地文件提交到本地的git仓库中
git clone xxxxx
git add .
的命令后,就会将文件变为已跟踪的状态
git add .
命令后,就会放入暂缓区中git commit -m ""
命令后,文件所处的状态,代表已经将代码提交到了本地的git仓库git add .
git commit -m ""
git commit -a -m ""
合并成一行代码项目中存在特殊的文件(比如node_modules等),不希望git对其进行跟踪和管理的,可以对其进行忽略
git status
将不会查看该文件状态test.js
git log
命令的时候,就可以查看到 commit后面跟着的字符串,这个字符串即为 校验和git log
命令查看提交记录git log --pretty=oneline
git log --pretty=oneline --grapg
进行查看当我们对一个项目进行了多次的提交,想要回退到之前的版本,可以使用git reset命令进行操作
git reset --hard HEAD^
回退到上一版本git reset --hard xxxxx
回退到指定的版本git log
查看提交记录,会发现丢失了部分的提交记录git reflog
命令进行查看所有的提交记录git reset --hard xxxxx
命令即可恢复到最新的版本目前常用的三方远程仓库有:GitHub、Gitee以及GitLab
接下来我们以Gitee为例子,进行远程仓库的学习
当我们有了一个远程仓库的地址,可以使用
git clone
的方式将仓库中的代码克隆下来但是在克隆的前,需要进行验证
通过HTTPS协议克隆代码
因为HTTP协议是无状态的连接,所以每一次连接都需要输入用户名和密码
但是 Git拥有一个凭证系统,来保证我们只需要第一次输入凭证即可
当我们使用 git clone
克隆代码的时候,会出现以下现象
git add .
git commit -m "描述"
git push
当我们本地有一个项目,且通过
git init
初始化了本地的仓库同时,再Gitee上面,有一个线上仓库
那么,我们想让这两个仓库创建连接,应当怎么做
git remote add '远程仓库地址'
git pull <remote> <branch>
每次拉取/提交代码的时候,都需要指定远程仓库的分支,会很麻烦,因此我们可以设置一下本地分支的上游分支,可以省略重复的步骤
通过输入命令 git branch --set-upstream-to=<远程仓库>/<远程仓库的分支> <本地仓库的分支>
例如 git branch --set-upstream-to=origin/master master
这样就设置了本地仓库的上游分支,可以直接通过 pull/push对代码进行提交以及拉取
通常我们做了以上操作后,拉取代码的时候依旧会发生错误
git merge
允许将两个没有共同基础的分支进行合并
git merge --allow-unrelated-histories
来恢复之前的操作目的就是在某一个重大版本,打上版本的标签
git tag v1.0.0
git tag -a v1.0.1 -m "附注标签"
git tag
git show v1.0.0
git push origin v1.0.1
git push origin tags
git tag -d v1.0.0
git push origin -d v1.0.1
回退到某一个tag的版本
git checkout v1.0.0
即可前面我们对Git的基本操作进行了学习,那么它的底层原理是怎么样的
git init
初始化本地仓库
console.log(123)
代码
git add .
命令后,会生成一个文件夹
git cat-file -p 文件夹名称+文件名称
查看这个文件中的具体内容
git cat-file -p 97eb
git add .
命令就会将我们的文件转成二进制文件保存在 objects文件夹中git commit -m "描述"
命令
git branch 分支名称
来创建一个分支:例如创建一个 dev分支 git branch dev
git checkout dev
来切换分支git add. git commit -m "描述"
命令,会发生什么git checkout -b prod
,这样git的分支就切换到了 prod上面git checkout master
git merge hotfix
进行代码的合并,并提交代码git branch
git branch -v
git branch -d 分支名称
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。