Используя «vue create <projectname>», git add. кажется, не работает

Я создавал новое приложение Vue и использовал «vue create testapp». Я выбрал типичные значения по умолчанию и инициализировал каталог для git. Отлично. Я изменил каталог на каталог проекта и набрал «git status», я получаю следующее:

On branch master
nothing to commit, working tree clean

Когда я выполнил «git add.», я получил следующее:

On branch master
nothing to commit, working tree clean

Ничего не было добавлено, хотя в каталоге есть файлы:

babel.config.js  jsconfig.json  node_modules/  package.json  package-lock.json  public/  README.md  src/  vue.config.js

Если я удалю каталог .git и перезапущу «git init», git будет работать правильно.

В чем дело? Заранее спасибо!


1
55
3

Ответы:

Я думаю, что ваши файлы уже отслеживаются git. Вы можете проверить это, используя git ls-files.

Попробуйте добавить фиктивный файл и запустить git status. Он должен отображаться как неотслеживаемый файл.

Вы можете проверить, какой у вас текущий пульт git remote -v.


Команда vue create по умолчанию инициализирует проект с помощью Git в текущей версии @vue/cli.

Вы можете проверить детали коммита с помощью следующей команды:

git log

Это означает, что в вашем локальном репозитории уже есть первоначальный коммит, обычно с сообщением о коммите, например init, но он еще не был отправлен в удаленный репозиторий.

Чтобы отправить репозиторий на удаленный компьютер, вам необходимо установить URL-адрес удаленного источника с помощью следующей команды:

git remote set-url origin xxx.git

Затем вы можете отправить репозиторий на удаленный компьютер с помощью:

git push origin branchName

Если вы хотите пропустить инициализацию Git, вы можете запустить команду с параметром --no-git или -n:

vue create my-app --no-git

Важное примечание:

Vue CLI находится в режиме обслуживания!

Для новых проектов теперь рекомендуется использовать create-vue для создания Vite-based проектов.


Решено

В большинстве проектов, созданных с использованием CLI, таких как createact app/vue cli, если нет конфигурации по умолчанию, будет использоваться git, и все содержимое инициализированного проекта будет автоматически зафиксировано один раз с init в качестве сообщения о фиксации.

Это означает, что нам не нужно выполнять коммит вручную в первый раз.

Вы можете использовать git log для просмотра истории, и первым и единственным коммитом будет «init».

Если изменения будут внесены после инициализации, git add вступит в силу.

Если вам интересно, как Vue CLI справляется с этим, вы можете обратиться к следующему коду: https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/cli/lib/Creator.js#L241-L256

    // commit initial state
    let gitCommitFailed = false
    if (shouldInitGit) {
      await run('git add -A')
      if (isTestOrDebug) {
        await run('git', ['config', 'user.name', 'test'])
        await run('git', ['config', 'user.email', '[email protected]'])
        await run('git', ['config', 'commit.gpgSign', 'false'])
      }
      const msg = typeof cliOptions.git === 'string' ? cliOptions.git : 'init'
      try {
        await run('git', ['commit', '-m', msg, '--no-verify'])
      } catch (e) {
        gitCommitFailed = true
      }
    }