2017-06-05 46 views
1

我已将git设置为我的项目,以将修改推送到gitlab repositorygit commit修改和未跟踪的内容

我从github其位于/vendor/dereuromar/cakephp-queue

还有一个.git目录,当我把我的项目gitlab在插件目录

git相关的其他文件安装插件,一切都推除本目录。

当试图git status它给误差

On branch master 
Your branch is up-to-date with 'origin/master'. 
Changes not staged for commit: 
    (use "git add <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 
    (commit or discard the untracked or modified content in submodules) 

    modified: vendor/dereuromark/cakephp-queue (modified content, untracked content) 

no changes added to commit (use "git add" and/or "git commit -a") 

我试着删除.git目录,.gitignorevendor/dereuromark/cakephp-queue.gitattributes目录。

git status输出是

On branch master 
Your branch is up-to-date with 'origin/master'. 
nothing to commit, working directory clean 

但是,目录中的内容不上传到gitlab

如何推送此目录的内容?我还没有创建任何submodule

+0

您对子模块的工作原理有一个根本性的误解。我建议阅读[Pro Git](https://git-scm.com/book/en/v2/Git-Tools-Submodules)中解释子模块的部分以及文档:使用子模块管理工作树更改为一项复杂的任务。 – Pockets

+0

我说过,我还没有创建任何子模块。插件目录由于包含'.git'目录,因此被视为子模块。 –

+0

似乎你已经错过了GIT的概念。您不能提交.git文件夹,因为它是存储库的管理文件夹,并且它是每个克隆的文件夹,它不是由GIT管理和分发的存储库的一部分。 – yorammi

回答

0

您无法推送尚未提交的任何内容。操作顺序是:

  1. 进行更改。
  2. git add - 这个阶段更改犯
  3. git commit - 这在当地提交您的分阶段变化
  4. git push - 如果你把不提交这个推你提交更改到远程

,没有东西推。如果你没有添加提交,没有提交。如果你没有提交就添加,完全没有任何事情发生,git仅仅记得你添加的改变应该被考虑用于下面的提交。

您看到的消息(您的分支超前1次提交)意味着您的本地存储库有一个尚未推送的提交。

换句话说:addcommit是本土作战,pushpullfetch是与远程交互操作。

因为在你工作的地方似乎有一个官方的源代码管理工作流程,所以你应该在内部询问应该如何处理。

+0

来自插件目录的内容不会与'git add .'一起添加。 –

+0

'git add -A'试试这个 –

+0

没有效果。没有什么是增加的 –

相关问题