'origin' не является git-репозиторием ' - PullRequest
0 голосов
/ 30 октября 2011

Я написал очень простой Perl-скрипт для доступа к GitHub и настроил репо, но я получаю >>fatal: 'origin' does not appear to be a git repository ошибку.

Любое понимание будет с благодарностью.

#!/usr/bin/perl

use 5.006;
use strict;
#use warnings

my $file;
my $dir;
my $user;
my $email;
my $repo;

print ("Enter your user name\n");
$user = <STDIN>;
chomp $user;

print ("\nEnter your email address\n");
$email = <STDIN>;
chomp $email;

print ("\nEnter a directory path..\n");
$dir = <STDIN>;
chomp ($dir);

sub openDIR{
  if (opendir(DIR, $dir)) {
    chdir $dir;
    print ("You are now in directory >>> ", $dir, "\n");
    system 'touch README';
    system 'ls -l'
  } else {
    print ("The directory can not be found, please try again");
    die;

  }
}

sub git{
  print ("Enter the name of the repo you created on Git Hub.\n");
  $repo = <STDIN>;
  chomp $repo;

  system 'git config --global user.name', $user;
  system 'git config --global user.email', $email;

  system 'git init';  
  system 'git add README';
  system "git commit -m 'first commit'";
  system "git remote add origin git\@github.com:", $user,"/", $repo, ".git";
  system  'git push origin master'
}

openDIR();
git();

1 Ответ

1 голос
/ 30 октября 2011

Здесь есть как минимум две проблемы.

Вы не указали Perl ничего делать с выводом команды, а также не проверяете ошибки, поэтому все сообщения об ошибках и коды возврата выбрасываются.Прочтите perldoc -f system, чтобы узнать, как это перехватить.По крайней мере, переписать ваши system вызовы, как это:

system 'git init' or die $!;

Что на самом деле идет не так, как следует:Я добавлю несколько скобок, чтобы показать вам, как эта строка выглядит для perl:

(system "git remote add origin git\@github.com:"), $user,"/", $repo, ".git";

Эта команда запускает не очень полезную команду system, выбрасывает ошибку и затем оценивает загрузку строк по порядку.(также не очень полезно).

Если вы хотите объединить строки, используйте оператор точки.Собирая все вместе, вы, вероятно, захотите что-то вроде этого:

    system "git remote add origin git\@github.com:". $user."/". $repo. ".git" or die $!;

Вам также необходимо исправить строки git config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...