git提交已修改和未跟踪的内容

时间:2017-06-05 07:15:52

标签: git git-push git-untracked

我已将git设置为我的项目,以便将修改推送到gitlab repository

我安装了来自github

/vendor/dereuromar/cakephp-queue插件

在插件目录中还有一个.git目录和与git相关联的其他文件

当我将项目推送到gitlab时,除了这个目录外,所有内容都会推送。

尝试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删除.gitignore目录,.gitattributesvendor/dereuromark/cakephp-queue目录。

git status的输出是

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

但该目录的内容未上传到gitlab

如何推送此目录的内容?我尚未创建任何submodule

1 个答案:

答案 0 :(得分:0)

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

  1. 进行更改。
  2. git add - 这会暂停您提交的更改
  3. git commit - 这会在本地提交您的分阶段更改
  4. git push - 这会将您提交的更改推送到远程
  5. 如果你在没有提交的情况下推动,就不会推动任何东西。如果您提交而不添加,则不会提交任何内容。如果你在没有提交的情况下添加,一切都没有发生,git只会记住你添加的更改应该考虑用于以下提交。

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

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

    由于在您工作的地方似乎有一个官方的源代码控制工作流程,您应该在内部询问应该如何处理。