git分支拉项目_git拉取项目以及git的几点特性

本文介绍了如何使用git和composer拉取并管理项目。首先通过`git clone`克隆项目,然后使用`composer install`安装第三方依赖。讨论了.git目录的作用以及版本管理的理解,强调在不同分支上的变化。此外,探讨了多层git、删除.git文件的影响,以及未提交文件在切换分支后的表现,提出了关于工作区与版本仓库内容合并的思考。
摘要由CSDN通过智能技术生成

git + composer拉取项目

1.先从远程仓库克隆项目

git clone https://github.com/pengloo53/learngit.git

2.composer安装json中的所需第三方

composer install

因为在lavarel根目录中有一个 composer.json文件,里面有所需的第三方以及版本

解释:

1.首先项目目录是没有.env文件的,因为大家公用一个数据库,这个文件一般在提交的时候都被忽略,所以只在git最高的版本管理者那里管理这个文件,我们拉下来之后直接复制一个.env过来,配置好数据库信息即可。

2.为什么第三方也要重新拉呢,因为一个项目有一半左右的体积都是第三方,每个人直接从git克隆不如composer换源之后自己拉取。

3.composer拉取的时候,一定要注意当前目录位置是不是项目根目录,因为composer不仅拉取了一些文件,还给当前环境生成了很多环境文件。

3.composer换源

composer config -g repo.packagist composer https://packagist.phpcomposer.com

修改composer的全局配置文件

关于git

对于版本管理的理解

以前只是觉得版本管理是对文件修改之后合并,提交之类的操作,其实版本管理的意思是默认当前分支为运行分支,并且能够与其他分支和远程仓库进行交互。比如当我运行了我的laravel项目,在终端版本管理,切换到test分支,在test分支上写上路由a,当我依然在分支test的时候,能访问到路由a,但是,当我切换了分支,再次在浏览器输入路由a的时候,页面就会报错。

总结:版本管理就是给你当前的文件多个版本,系统能找到的版本就是你目前所在的版本(分支)

其他git特性

1.多层 git

在刚才讲的对于git理解的基础上,再举个例子:

首先建立空文件 test 并创建a文件

git init

git checkout -b dev //创建 dev分支

cd test

git init

git checkout -b dev2

这个时候,在test外层有两个分支 master 和 dev

test里面也有两个分支 master 和 dev2

现在就有两层的git 这就相当于二维数组一样,你在每一层所在的分支就是系统按照路径找过去的时候的版本。

2.删除.git

首先 git 记录的是改变,并不记录版本,当你git init 的时候,会生成一个.git的文件夹,这个文件夹里面记录了所有改变,当你删除了这个文件夹,再git branch的时候,会提示没有创建过版本仓库。也就是说,回到文件最初的状态。

3.目前还迷惑的一个问题

vim test.php 写入'1111'

git init

git add .

git commit -m '111'

git checkout -b dev

vim test2.php 写入‘2222’

这个时候不做任何git add 和commit

再git checkout master

ls 发现里面同样有 test2.php这个文件(这个文件是在dev分支上创建的)

git checkout dev

git add .

git commit -m '333'

这个时候再回到master 发现里面只有一个文件test.php,在dev分支创建的test2.php没了。

一样的道理,假如我在某分支写了一个路由,提交之后,在这个分支的时候,浏览器访问正常,切另外分支,浏览器报错。

但是当我在某分支写了路由,不做提交,那么浏览器访问任何分支都不会报错。

假如按照之前的理解,切换到哪个分支,访问这个路径就呈现分支的内容,那现在这个现象就解释不了了。

假如像以下这么理解,就是能符合这个现象的:

当我们按照路径访问这个git所管理的文件时,git呈现的是工作区和版本仓库加和在一起的内容,当像第一个例子,按照正常的流程,修改 add commit之后,工作区又是干净的,所以呈现的就是某个分支上的内容;但是当我们修改了文件,但没有提交,工作区是有内容的,那么无论我们处在哪个分支,git呈现的则是工作区和分支的加和。

但是,这个情况似乎没什么用处,这样理解也不一定对。希望有正解的你可以分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值