การผูกโหนดกับโครงการ LibGit2
เสถียร ([email protected]): 0.28.3
เยี่ยมชม Slack.libgit2.org เพื่อลงทะเบียนจากนั้นเข้าร่วมกับเราใน #Nodegit
Tyler Ang-Wanek @twwanek ด้วยความช่วยเหลือจากผู้มีส่วนร่วมที่ยอดเยี่ยมมากมาย!
Tim Branyen @tbranyen, John Haley @johnhaley81, Max Korp @maxkorp, Steve Smith @orderedlist, Michael Robinson @codeofinterest และ Nick Kallen @NK
http://www.nodegit.org/
Nodegit จะทำงานกับระบบส่วนใหญ่นอกกรอบโดยไม่มีการพึ่งพาอาศัยกัน
npm install nodegitหากคุณได้รับข้อผิดพลาดเกี่ยวกับ libstdc ++ ซึ่งมักจะมีประสบการณ์เมื่อสร้างบน Travis-CI คุณสามารถแก้ไขได้โดยการอัพเกรดเป็น Libstdc ++ ล่าสุด-4.9
ใน Ubuntu:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install libstdc++-4.9-devในเทรวิส:
addons :
apt :
sources :
- ubuntu-toolchain-r-test
packages :
- libstdc++-4.9-devใน Circleci:
dependencies :
pre :
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
- sudo apt-get update
- sudo apt-get install -y libstdc++-4.9-devหากคุณได้รับข้อผิดพลาดเกี่ยวกับ Lifecyclescripts preinstall/ติดตั้งคุณอาจพลาด libssl-dev ใน Ubuntu:
sudo apt-get install libssl-dev
คุณจะต้องติดตั้งไลบรารีต่อไปนี้บนเครื่อง Linux ของคุณ:
เมื่อสร้างในพื้นที่คุณจะต้องมีแพ็คเกจการพัฒนาสำหรับ Kerberos และ PCRE ดังนั้นยูทิลิตี้ทั้งสองนี้จะต้องอยู่ในเครื่องของคุณ:
หากคุณยังคงประสบปัญหาในขณะที่ติดตั้งคุณควรลองอาคารจากคำแนะนำต้นฉบับ
var Git = require ( "nodegit" ) ;
// Clone a given repository into the `./tmp` folder.
Git . Clone ( "https://github.com/nodegit/nodegit" , "./tmp" )
// Look up this known commit.
. then ( function ( repo ) {
// Use a known commit sha from this repository.
return repo . getCommit ( "59b20b8d5c6ff8d09518454d4dd8b7b30f095ab5" ) ;
} )
// Look up a specific file within that commit.
. then ( function ( commit ) {
return commit . getEntry ( "README.md" ) ;
} )
// Get the blob contents from the file.
. then ( function ( entry ) {
// Patch the blob to contain a reference to the entry.
return entry . getBlob ( ) . then ( function ( blob ) {
blob . entry = entry ;
return blob ;
} ) ;
} )
// Display information about the blob.
. then ( function ( blob ) {
// Show the path, sha, and filesize in bytes.
console . log ( blob . entry . path ( ) + blob . entry . sha ( ) + blob . rawsize ( ) + "b" ) ;
// Show a spacer.
console . log ( Array ( 72 ) . join ( "=" ) + "nn" ) ;
// Show the entire file.
console . log ( String ( blob ) ) ;
} )
. catch ( function ( err ) { console . log ( err ) ; } ) ; var Git = require ( "nodegit" ) ;
// Open the repository directory.
Git . Repository . open ( "tmp" )
// Open the master branch.
. then ( function ( repo ) {
return repo . getMasterCommit ( ) ;
} )
// Display information about commits on master.
. then ( function ( firstCommitOnMaster ) {
// Create a new history event emitter.
var history = firstCommitOnMaster . history ( ) ;
// Create a counter to only show up to 9 entries.
var count = 0 ;
// Listen for commit events from the history.
history . on ( "commit" , function ( commit ) {
// Disregard commits past 9.
if ( ++ count >= 9 ) {
return ;
}
// Show the commit sha.
console . log ( "commit " + commit . sha ( ) ) ;
// Store the author object.
var author = commit . author ( ) ;
// Display author information.
console . log ( "Author:t" + author . name ( ) + " <" + author . email ( ) + ">" ) ;
// Show the commit date.
console . log ( "Date:t" + commit . date ( ) ) ;
// Give some space and show the message.
console . log ( "n " + commit . message ( ) ) ;
} ) ;
// Start emitting events.
history . start ( ) ;
} ) ; สำหรับตัวอย่างเพิ่มเติมให้ตรวจสอบ examples/ โฟลเดอร์
คุณจะต้องสร้างในพื้นที่ก่อนที่จะทำการทดสอบ ดูด้านบน
npm test