'origen' no parece ser un repository git '

Escribí un script de Perl realmente simple para acceder a GitHub y configurar un repository, pero me estoy poniendo >>fatal: 'origin' does not appear to be a git repository error del >>fatal: 'origin' does not appear to be a git repository .

Cualquier idea sería muy apreciada.

 #!/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(); 

Hay al less dos problemas aquí.

No le ha orderado a Perl que haga nada con el resultado del command, ni está probando errores, por lo que se descartan los posts de error y los códigos de retorno. Ve a leer el perldoc -f system para saber cómo atrapar eso. Por lo less, vuelva a escribir sus llamadas al system esta manera:

 system 'git init' or die $!; 

Lo que está realmente yendo mal es esta línea:

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

El operador de coma no une elementos, así que déjame agregar algunos corchetes para mostrarte cómo se ve esa línea a perl:

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

Esto ejecuta un command del system no muy útil, descarta el error y luego evalúa una carga de cadenas en order (que tampoco es muy útil).

Si desea unir cadenas, use el operador de período. Poniéndolo juntos, probablemente quieras algo como esto:

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

También deberá corregir las líneas de git config .