微信扫一扫打赏支持

thinkphp项目上传到github,为什么缺少很多文件

thinkphp项目上传到github,为什么缺少很多文件

问题:

把tp5项目push到码云(类似github)上,为什么没有thinkphp这个核心库?

然后我看了下码云和github上,官方的thinkphp5项目,也是没有thinkphp这个核心库的?为什么呢?如果我在上传自己的tp5项目时想把thinkphp核心库同时push上去,应该怎么做?

 

 

解答:

.gitignore文件忽略掉了 
配置.gitignore文件把thinkphp删掉就ok了

如下图

 

 

Git中.gitignore文件的使用

在我们使用git的时候,有时候就不想传一些与代码无关的文件到远程仓库中,比如说编译后的文件,.gitignore就可以帮助我们处理这些文件

    • 生成.gitignore文件 
      git bash中使用命令touch .gitignore,就可以在当前目录下生成.gitignore文件

    • 编辑.gitignore文件 
      在git bash中,使用vi .gitignore就可以编辑此文件,编辑结束后按Esc然后按:,最后输入wq表示保存退出,输入q表示不保存退出。这与在Linux终端中的操作是一样的。

    • .gitignore文件内容的规则

      1. / 表示目录 
        比如/A/*就表示忽略A目录下所有内容

      2. * 表示匹配多个字符 
        上面忽略A目录下所有内容使用的就是*,忽略iml结尾的文件即使用*.iml

      3. []表示匹配多个单个字符 
        [abc]就是代表a、b、c中任何一个字符即可

      4. ! 表示跟踪某类文件 
        比如 /*,!*.c,表示忽略所有文件,但是跟踪.c结尾的文件,这样.c结尾的文件就不会被忽略了

    • 在使用.gitignore文件后如何删除远程仓库中以前上传的此类文件而保留本地文件

        比如我们在使用git和github的时候,之前没有写.gitignore文件,就上传了一些没有必要的文件,在添加了.gitignore文件后,就想删除远程仓库中的文件却想保存本地的文件。 
        这时候不可以直接使用git rm directory,这样会删除本地仓库的文件。 
        可以使用git rm -r –cached directory来删除缓冲,然后进行commit和push,这样会发现远程仓库中的不必要文件就被删除了,以后可以直接使用git add -A来添加修改的内容,上传的文件就会受到.gitignore文件的内容约束。

 

.gitignore文件的格式规范:

A:#为注释

B:可以使用shell所使用的正则表达式来进行模式匹配

C:匹配模式最后跟"/"说明要忽略的是目录

D:使用!取反(例如目录中包含  test.a,并且gitignore文件中包含  *.[oa],如果在文件中加入 !test.a  表明忽略除test.a文件以外的后缀名为.a或者.o的文件)

 

posted @ 2018-03-29 00:01  范仁义  阅读(1970)  评论(0编辑  收藏  举报