为什么config文件夹不推?(why config folder is not pushed?)

2019-07-30 17:56发布

虽然我相信,我已经添加和犯下的所有文件和文件夹到我的本地git仓库前推

我不知道为什么远程回购缺少config文件夹

我不知道如何来研究这个问题,当然,我没有对config文件夹名称添加到的.gitignore或.slugignore,但是,它从来没有得到推!

我做git init ,git的add .git commit ,然后

git push heroku master

所以,和对这个问题的想法?

编辑

当我尝试手动配置添加文件,我得到:

sam@ubuntu:~/RubymineProjects/dcaclab$ cd config
sam@ubuntu:~/RubymineProjects/dcaclab/config$ git add *
sam@ubuntu:~/RubymineProjects/dcaclab/config$ git commit -m "config files"
# On branch master
nothing to commit (working directory clean)
sam@ubuntu:~/RubymineProjects/dcaclab/config$ git push heroku master
Everything up-to-date
sam@ubuntu:~/RubymineProjects/dcaclab/config$

编辑2

# See http://help.github.com/ignore-files/ for more about ignoring files.
#
# If you find yourself ignoring temporary files generated by your text editor
# or operating system, you probably want to add a global ignore instead:
#   git config --global core.excludesfile ~/.gitignore_global

# Ignore bundler config


# Ignore the default SQLite database.
/db/*.sqlite3



# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
sam@ubuntu:~/RubymineProjects/dcaclab$ ls config/
application.rb  boot.rb  database.yml  environment.rb  environments  initializers  locales  newrelic.yml  routes.rb

编辑3

sam@ubuntu:~/RubymineProjects/dcaclab$ ls config
application.rb  database.yml    environments  locales       routes.rb
boot.rb         environment.rb  initializers  newrelic.yml

编辑4

sam@ubuntu:~/RubymineProjects/dcaclab$ cd config
sam@ubuntu:~/RubymineProjects/dcaclab/config$ echo 'test' > test_file
sam@ubuntu:~/RubymineProjects/dcaclab/config$ ls config
ls: cannot access config: No such file or directory
sam@ubuntu:~/RubymineProjects/dcaclab/config$ dir
application.rb  database.yml    environments  locales       routes.rb
boot.rb     environment.rb  initializers  newrelic.yml  test_file
sam@ubuntu:~/RubymineProjects/dcaclab/config$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   test_file
nothing added to commit but untracked files present (use "git add" to track)
sam@ubuntu:~/RubymineProjects/dcaclab/config$ git add .
sam@ubuntu:~/RubymineProjects/dcaclab/config$ git commit -m "a file"
[master 55a0159] a file
 1 file changed, 1 insertion(+)
 create mode 100644 config/test_file
sam@ubuntu:~/RubymineProjects/dcaclab/config$ git push heroku master
Counting objects: 6, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 336 bytes, done.
Total 4 (delta 2), reused 0 (delta 0)

-----> Heroku receiving push
-----> Ruby/Rack app detected
-----> Installing dependencies using Bundler version 1.2.0.rc
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
       Using rake (0.9.2.2)
       Using i18n (0.6.0)
       Using multi_json (1.3.4)
       Using activesupport (3.2.3)
       Using builder (3.0.0)
       Using activemodel (3.2.3)
       Using erubis (2.7.0)
       Using journey (1.0.3)
       Using rack (1.4.1)
       Using rack-cache (1.2)
       Using rack-test (0.6.1)
       Using hike (1.2.1)
       Using tilt (1.3.3)
       Using sprockets (2.1.3)
       Using actionpack (3.2.3)
       Using mime-types (1.18)
       Using polyglot (0.3.3)
       Using treetop (1.4.10)
       Using mail (2.4.4)
       Using actionmailer (3.2.3)
       Using arel (3.0.2)
       Using tzinfo (0.3.33)
       Using activerecord (3.2.3)
       Using activeresource (3.2.3)
       Using bcrypt-ruby (3.0.1)
       Using cancan (1.6.7)
       Using cocoon (1.0.20)
       Using coffee-script-source (1.3.1)
       Using execjs (1.3.2)
       Using coffee-script (2.2.0)
       Using rack-ssl (1.3.2)
       Using json (1.7.1)
       Using rdoc (3.12)
       Using thor (0.14.6)
       Using railties (3.2.3)
       Using coffee-rails (3.2.2)
       Using commonjs (0.2.6)
       Using daemons (1.1.8)
       Using orm_adapter (0.0.7)
       Using warden (1.1.1)
       Using devise (2.0.4)
       Using eventmachine (0.12.10)
       Using google-analytics-rails (0.0.2)
       Using haml (3.1.4)
       Using jquery-rails (2.0.2)
       Using jquery-rails-cdn (0.1.0)
       Using json_pure (1.6.6)
       Using less (2.2.1)
       Using less-rails (2.2.3)
       Using libv8 (3.3.10.4)
       Using on_the_spot (1.0.0)
       Using pg (0.13.2)
       Using bundler (1.2.0.rc)
       Using rails (3.2.3)
       Using routing-filter (0.3.0)
       Using sass (3.1.17)
       Using sass-rails (3.2.5)
       Using simple_form (2.0.1)
       Using therubyracer (0.10.1)
       Using thin (1.3.1)
       Using twitter-bootstrap-rails (2.1.0) from git://github.com/seyhunak/twitter-bootstrap-rails.git (at master)
       Using uglifier (1.2.4)
       Using validate_url (0.2.0)
       Your bundle is complete! It was installed into ./vendor/bundle
       Cleaning up the bundler cache.
-----> Discovering process types
       Procfile declares types     -> (none)
       Default types for Ruby/Rack -> console, rake, web
-----> Compiled slug size is 18.7MB
-----> Launching... done, v20
       http://dcaclab3.herokuapp.com deployed to Heroku

To git@heroku.com:dcaclab3.git
   f434d33..55a0159  master -> master
sam@ubuntu:~/RubymineProjects/dcaclab/config$ heroku run bash -a dcaclab3
Running `bash` attached to terminal... up, run.1
~ $ dir
app  config.ru  doc  Gemfile.lock  public    README.rdoc  test
bin  db     Gemfile  lib           Rakefile  script       vendor

编辑5

为了确保该问题在推,而我的本地提交的作品罚款:

sam@ubuntu:~/RubymineProjects/dcaclab$ git ls-files config/
config/application.rb
config/boot.rb
config/database.yml
config/environment.rb
config/environments/development.rb
config/environments/production.rb
config/environments/test.rb
config/initializers/backtrace_silencers.rb
config/initializers/devise.rb
config/initializers/inflections.rb
config/initializers/mail.rb
config/initializers/mime_types.rb
config/initializers/secret_token.rb
config/initializers/session_store.rb
config/initializers/simple_form.rb
config/initializers/task_scheduler.rb
config/initializers/wrap_parameters.rb
config/locales/ar.yml
config/locales/devise.en.yml
config/locales/en.yml
config/locales/simple_form.en.yml
config/newrelic.yml
config/routes.rb
config/test_file

编辑6

为了确保没有其他的.gitignore潜伏

sam@ubuntu:~/RubymineProjects/dcaclab$ ~/.gitignore
bash: /home/sam/.gitignore: No such file or directory

sam@ubuntu:~/RubymineProjects/dcaclab$ find ~/RubymineProjects/dcaclab -name ".gitignore"
/home/sam/RubymineProjects/dcaclab/.gitignore
  1. 从模式$ GIT_DIR读/信息/排除。

    SAM @ Ubuntu的:〜/ RubymineProjects / dcaclab $猫〜/ RubymineProjects / dcaclab / git的/排除的猫:/home/sam/RubymineProjects/dcaclab/.git/exclude:没有这样的文件或目录

Answer 1:

还有的名额有限Git会查找被忽略的文件。 让我们来看看他们都(从转述man gitignore ):

1.   Patterns read from the command line for those commands that support them.

2.   Patterns read from a .gitignore file in the same directory as the path, or in any parent directory, with patterns in the higher level files (up to
     the toplevel of the work tree) being overridden by those in lower level files down to the directory containing the file. These patterns match
     relative to the location of the .gitignore file. A project normally includes such .gitignore files in its repository, containing patterns for files
     generated as part of the project build.

3.   Patterns read from $GIT_DIR/info/exclude.

4.   Patterns read from the file specified by the configuration variable core.excludesfile.

这不是1 。 您正在使用不支持CLI排除瓷命令。 它可能仍然是2根据您当前的编辑。 什么是在~/.gitignore和问题find ~/RubymineProjects/dcaclab -name ".gitignore" ,以确认你有没有其他的潜伏。 为了测试3 ,问题cat ~/RubymineProjects/dcaclab/.git/exclude 。 要测试4 ,问题git config core.excludefilegit config --global core.excludefile和编辑输出。



Answer 2:

1个空目录

git会不会签入空目录,因此,如果您的“配置” dir是空的,它不会被纳入您的承诺。 “修复”,通过添加一个虚拟文件

touch config/nada
git add config/nada
git commit config/nada -m "dummy file to force inclusion of config/"
git push heroku master

2 gitignore

可能在你的config /目录中的文件是在一些全球或全系统的.gitignore文件

EDIT1:

有许多的方法可以如何通过指定的git排除的文件。 你可能要检查所有的人都看你是否忽略了你的config目录:

  • 命令行参数(可能不是你的问题)

  • 在git仓库目录的.gitignore文件

  • $ GIT_DIR /信息/排除

  • 由core.excludes属性所指定的文件(或者系统范围或全局)

    git config core.excludes

    git config --global core.excludes

    git config --system core.excludes

做好一切准备,最终在这里张贴他们(或在某一引擎收录)

在任何情况下,你应该能够通过明确地添加文件覆盖不包括:

git add config/foo.conf
git commit config/foo.conf -m "manually added foo.conf"
git push heroku master

EDIT2:

3推...

我不认为“推”的问题,而是添加文件到存储库。 确认,该配置,这些文件是git的控制之下。 如添加/提交文件后执行:

git ls-files config/

并确保这些文件的存在。

EDIT3:

此外,它很可能是您正确推到Heroku的,但由于预期到部署它们是否未同步您的回购,所以远程控制台没有显示配置(因为它是从同步排除在外,因为它结束了别的地方或者是因为它显示它时,过滤掉;或者是因为你实际上是在寻找错误的地方)

这样做:

$ git add config/foo.conf
$ git commit config/foo.conf -m "manually added foo.conf"
$ git push heroku master

$ cd /tmp
$ git clone <remote-url-for-heroku> testclone
$ ls testclone/config/

如果这个工程,那么什么是错与Heroku的现场结账。 马贝你需要做的是这样的:

$ heroku run bash -a dcaclab3
[...]
$$ git pull
$$ ls config/


Answer 3:

正如我所接触的Heroku,我们发现,删除文件.slugignore这是文件的.gitignore固定的问题的旁边!

因此,它是在Heroku上侧的一个错误,不幸的是,这是原因,感谢每一个机构谁试图帮助在这个问题上。



文章来源: why config folder is not pushed?