2016-07-14 11 views
1

Wenn ich Hexo verwenden [https://hexo.io/] einen statischen Blog auf der GitHub, zunächst auf sehr zu implementieren, ich ausführen „hexo init“ die hexo Ordner zu initialisieren Dateien und Ordner wie diese zu erzeugen:Was tun git-Befehle "hexo init <folder>" genau?

.
├── _config.yml
├── package.json
├── Gerüste
├── Quelle
| D── _Drafts
| └── _posts
└── Themen

jedoch Wenn ich Befehl "hexo init" ausführen, finde ich es tatsächlich ausführt git Befehle:

[[email protected] buwei]# hexo init blog 
    INFO Cloning hexo-starter to /home/buwei/blog 
    Cloning into '/home/buwei/blog'... 
    remote: Counting objects: 53, done. 
    remote: Total 53 (delta 0), reused 0 (delta 0), pack-reused 53 
    Unpacking objects: 100% (53/53), done. 
    Submodule 'themes/landscape' (https://github.com/hexojs/hexo-theme-  landscape.git) registered for path 'themes/landscape' 
    .... 

Deshalb möchte ich wissen, was git Befehle tun die " hexo init "ausführen?

Antwort

2

Von hexojs/hexo-cli/lib/console/init.js#initConsole(), es auszuführen hauptsächlich git clone:

if (args.clone) { 
    promise = spawn('git', ['clone', '--recursive', GIT_REPO_URL, target], { 
     stdio: 'inherit' 
    }); 
    } else { 
    promise = copyAsset(target); 
} 

Dann entfernt er den git dir (.git) und Modulen (.gitmodules)

return promise.catch(function() { 
    log.warn('git clone failed. Copying data instead'); 

    return copyAsset(target); 
    }).then(function() { 
    return Promise.all([ 
     removeGitDir(target), 
     removeGitModules(target) 
    ]); 
    }).then(function() { 
    if (!args.install) return; 

    log.info('Install dependencies'); 

    return spawn('npm', ['install', '--production'], { 
     cwd: target, 
     stdio: 'inherit' 
}); 
0

hexo init hier ist, Ihnen die wichtigsten Struktur des Blogs. Wenn der git-Befehl verfügbar ist, führt er git clone von hexo-starter repository aus, andernfalls erstellt hexo-cli eine Kopie seiner submodule - assets @ 221419b, die Quellen von hexo-starter enthält.